aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
AgeCommit message (Collapse)AuthorFilesLines
2023-01-11tree-optimization/108352 - FSM threads creating irreducible loopsRichard Biener1-5/+2
The following relaxes a heuristic that prevents creating irreducible loops from FSM threads not covering multi-way branches. Instead of allowing threads that adhere to && (n_insns * (unsigned) param_fsm_scale_path_stmts > (m_path.length () * (unsigned) param_fsm_scale_path_blocks)) with reasoning "We also consider it worth creating an irreducible inner loop if the number of copied statement is low relative to the length of the path -- in that case there's little the traditional loop optimizer would have done anyway, so an irreducible loop is not so bad." that I cannot make much sense of the following patch changes that to only allow those after loop optimization and when they are (scaled) short: && (!(cfun->curr_properties & PROP_loop_opts_done) || (m_n_insns * param_fsm_scale_path_stmts >= param_max_jump_thread_duplication_stmts))) This allows us to get rid of --param fsm-scale-path-blocks which previous to the bisected revision allowed an enlarged path covering the original allowance (but we do not consider that enlarged path now because enlarging it doesn't add any information). PR tree-optimization/108352 * tree-ssa-threadbackward.cc (back_threader_profitability::profitable_path_p): Adjust heuristic that allows non-multi-way branch threads creating irreducible loops. * doc/invoke.texi (--param fsm-scale-path-blocks): Remove. (--param fsm-scale-path-stmts): Adjust. * params.opt (--param=fsm-scale-path-blocks=): Remove. (-param=fsm-scale-path-stmts=): Adjust description. * gcc.dg/tree-ssa/ssa-thread-21.c: New testcase. * gcc.dg/tree-ssa/vrp46.c: Remove --param fsm-scale-path-blocks=1.
2023-01-09Modula-2: fix documentation layoutEric Botcazou1-197/+193
The Modula-2 documentation is rejected by older versions of Makeinfo because the web of @node markers is fairly broken, apparently some subsections were moved around, most notably between the Overview and Using sections, and the @node markers were not (properly) adjusted. gcc/ * doc/gm2.texi (Overview): Fix @node markers. (Using): Likewise. Remove subsections that were moved to Overview from the menu and move others around.
2023-01-06c: C2x semantics for __builtin_tgmathJoseph Myers1-3/+2
__builtin_tgmath implements <tgmath.h> semantics for integer generic arguments that handle cases involving _FloatN / _FloatNx types as specified in TS 18661-3 plus some defect fixes. C2x has further changes to the semantics for <tgmath.h> macros with such types, which should also be considered defect fixes (although handled through the integration of TS 18661-3 in C2x rather than through an issue tracking process). Specifically, the rules were changed because of problems raised with using the macros with the evaluation format types such as float_t and _Float32_t: the older version of the rules didn't allow passing _FloatN / _FloatNx types to the narrowing macros returning float or double, or passing float / double / long double to the narrowing macros returning _FloatN / _FloatNx, which was a problem with the evaluation format types which could be either kind of type depending on the value of FLT_EVAL_METHOD. Thus the new rules allow cases of mixing types which were not allowed before - which is not itself a problem for __builtin_tgmath - and, as part of the changes, the handling of integer arguments was also changed: if there is any _FloatNx generic argument, integer generic arguments are treated as _Float32x (not double), while the rule about treating integer arguments to narrowing macros returning _FloatN or _FloatNx as _Float64 not double was removed (no longer needed now double is a valid argument to such macros). Implement the changes for __builtin_tgmath. (The changes also added a rule that if any argument is _DecimalNx, integer arguments are treated as _Decimal64x, but GCC doesn't support _DecimalNx types so nothing is done about that.) I have a corresponding glibc patch to update glibc test expectations for C2x and also ensure that appropriate semantics are followed when GCC 7 through 12 are used with <tgmath.h> (avoiding __builtin_tgmath in cases where it doesn't match the C2x semantics). Bootstrapped with no regressions for x86_64-pc-linux-gnu. gcc/ * doc/extend.texi (__builtin_tgmath): Do not restate standard rule for handling real integer types. gcc/c/ * c-parser.cc (c_parser_postfix_expression): Handle integer generic arguments to functions passed to __builtin_tgmath as _Float32x if any argument has _FloatNx or _Complex _FloatNx type. Do not handle integer arguments to some narrowing functions as _Float64. gcc/testsuite/ * gcc.dg/builtin-tgmath-3.c: Update expectations and add more tests.
2023-01-06docs: fix Var documentation for .opt filesMartin Liska1-13/+13
The Var documentation was somehow wrongly split into 2 pieces. PR middle-end/107966 gcc/ChangeLog: * doc/options.texi: Fix Var documentation in internal manual.
2023-01-05modula-2, driver: Implement handling for -static-libgm2.Iain Sandoe1-0/+4
This was unimplemented so far. gcc/ChangeLog: * common.opt: Add -static-libgm2. * config/darwin.h (LINK_SPEC): Handle static-libgm2. * doc/gm2.texi: Document static-libgm2. * gcc.cc (driver_handle_option): Allow static-libgm2. gcc/m2/ChangeLog: * gm2spec.cc (lang_specific_driver): Handle static-libgm2. * lang.opt: Add static-libgm2.
2023-01-03Revert "Compute a table of DWARF register sizes at compile"Florian Weimer1-4/+3
This reverts commit 3b6cac2b44b384cd2091eaeaebeb3478c253a25d.
2023-01-03tree-optimization/105043: Object Size Checking docs cleanupSiddhesh Poyarekar1-6/+14
Break the _FORTIFY_SOURCE-specific builtins out into a separate subsection from Object Size Checking built-ins and mention _FORTIFY_SOURCE in there so that the link between the object size checking builtins, the helper builtins (e.g. __builtin___memcpy_chk) and _FORTIFY_SOURCE is clearer. gcc/ChangeLog: PR tree-optimization/105043 * doc/extend.texi (Object Size Checking): Split out into two subsections and mention _FORTIFY_SOURCE. Signed-off-by: Siddhesh Poyarekar <siddhesh@gotplt.org>
2023-01-02Compute a table of DWARF register sizes at compileFlorian Weimer1-3/+4
The sizes are compile-time constants. Create a vector with them, so that they can be inspected at compile time. gcc/ * dwarf2cfi.cc (init_return_column_size): Remove. (init_one_dwarf_reg_size): Adjust. (generate_dwarf_reg_sizes): New function. Extracted from expand_builtin_init_dwarf_reg_sizes. (expand_builtin_init_dwarf_reg_sizes): Call generate_dwarf_reg_sizes. * target.def (init_dwarf_reg_sizes_extra): Adjust hook signature. * config/msp430/msp430.cc (msp430_init_dwarf_reg_sizes_extra): Adjust. * config/rs6000/rs6000.cc (rs6000_init_dwarf_reg_sizes_extra): Likewise. * doc/tm.texi: Update.
2023-01-02Update copyright dates.Jakub Jelinek7-9/+9
Manual part of copyright year updates. 2023-01-02 Jakub Jelinek <jakub@redhat.com> gcc/ * gcc.cc (process_command): Update copyright notice dates. * gcov-dump.cc (print_version): Ditto. * gcov.cc (print_version): Ditto. * gcov-tool.cc (print_version): Ditto. * gengtype.cc (create_file): Ditto. * doc/cpp.texi: Bump @copying's copyright year. * doc/cppinternals.texi: Ditto. * doc/gcc.texi: Ditto. * doc/gccint.texi: Ditto. * doc/gcov.texi: Ditto. * doc/install.texi: Ditto. * doc/invoke.texi: Ditto. gcc/ada/ * gnat_ugn.texi: Bump @copying's copyright year. * gnat_rm.texi: Likewise. gcc/d/ * gdc.texi: Bump @copyrights-d year. gcc/fortran/ * gfortranspec.cc (lang_specific_driver): Update copyright notice dates. * gfc-internals.texi: Bump @copying's copyright year. * gfortran.texi: Ditto. * intrinsic.texi: Ditto. * invoke.texi: Ditto. gcc/go/ * gccgo.texi: Bump @copyrights-go year. libgomp/ * libgomp.texi: Bump @copying's copyright year. libitm/ * libitm.texi: Bump @copying's copyright year. libquadmath/ * libquadmath.texi: Bump @copying's copyright year.
2022-12-26x86: Add a new option -mdaz-ftz to enable FTZ and DAZ flags in MXCSR.liuhongt1-1/+11
if (mdaz-ftz) link crtfastmath.o else if ((Ofast || ffast-math || funsafe-math-optimizations) && !shared && !mno-daz-ftz) link crtfastmath.o else Don't link crtfastmath.o gcc/ChangeLog: PR target/55522 PR target/36821 * config/i386/gnu-user-common.h (GNU_USER_TARGET_MATHFILE_SPEC): Link crtfastmath.o whenever -mdaz-ftz is specified. Don't link crtfastmath.o when -share or -mno-daz-ftz is specified. * config/i386/i386.opt (mdaz-ftz): New option. * doc/invoke.texi (x86 options): Document mftz-daz.
2022-12-22docs: Fix peephole paragraph orderingAndrew Carlotti1-5/+5
The documentation for the DONE and FAIL macros was incorrectly inserted between example code, and a remark attached to that example. gcc/ChangeLog: * doc/md.texi: Move example code remark next to it's code block.
2022-12-22docs: Fix inconsistent example predicate nameAndrew Carlotti1-1/+1
It is unclear why the example C function was renamed to `commutative_integer_operator` as part of ec8e098d in 2004, while the text and the example md were both left as `commutative_operator`. The latter name appears to be more accurate, so revert the 2004 change. gcc/ChangeLog: * doc/md.texi: Fix inconsistent example name.
2022-12-22docs: Link to correct section for constraint modifiersAndrew Carlotti1-1/+1
gcc/ChangeLog: * doc/md.texi: Fix incorrect pxref.
2022-12-22bootstrap/106482 - document minimal GCC versionRichard Biener1-2/+4
There's no explicit mention of what GCC compiler supports C++11 and the cross compiler build requirement mentions GCC 4.8 but not GCC 4.8.3 which is the earliest known version to not run into C++11 implementation bugs. The following adds explicit wording. PR bootstrap/106482 * doc/install.texi (ISO C++11 Compiler): Document GCC version known to work.
2022-12-21Make -fwhole-program to work with incremental LTO linkingJan Hubicka1-3/+6
Update documentation of -fwhole-program which was wrongly claiming that it is useless with LTO whole it is useful for LTO without plugin and extends -fwhole-program to also work with incremental linking. This is useful when building kernel where the incremental link is de-facto fina binary and only some explicitly marked symbols needs to remain. Bootstrapped/regtested x86_64-linux, comitted. gcc/ChangeLog: 2022-12-21 Jan Hubicka <hubicka@ucw.cz> * doc/invoke.texi: Fix documentation of -fwhole-program with LTO and document behaviour for incremental linking. gcc/lto/ChangeLog: 2022-12-21 Jan Hubicka <hubicka@ucw.cz> * lto-common.cc (lto_resolution_read): With incremental linking and whole program ignore turn LDPR_PREVAILING_DEF_IRONLY to LDPR_PREVAILING_DEF_IRONLY_EXP * lto-lang.cc (lto_post_options): Do not clear flag_whole_program for incremental link
2022-12-20d/104749 - document host GDC version requirementRichard Biener1-1/+1
This documents that GDC 9.4 or later is required to build the D language rather than GDC 9.1 which suffers from PR94240. PR d/104749 * doc/install.texi (GDC): Document GDC 9.4 or later is required to build the D language frontend.
2022-12-19x86: Don't add crtfastmath.o for -sharedliuhongt1-1/+2
Don't add crtfastmath.o for -shared to avoid changing the MXCSR register when loading a shared library. crtfastmath.o will be used only when building executables. PR target/55522 * config/i386/gnu-user-common.h (GNU_USER_TARGET_MATHFILE_SPEC): Don't add crtfastmath.o for -shared. * doc/invoke.texi (-shared): Add related documentation.
2022-12-18build: doc: Obsolete Solaris 11.3 supportRainer Orth1-0/+2
This patch implements the Solaris 11.[0-3] obsoletion just announced in https://gcc.gnu.org/pipermail/gcc/2022-December/240322.html Bootstrapped without regressions on Solaris 11.3 (i386-pc-solaris2.11, sparc-sun-solaris2.11 without and with --enable-obsolete) and 11.4. 2022-12-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> gcc: * config.gcc: Determine Solaris minor version. Obsolete *-*-solaris2.11.[0-3]*. * doc/install.texi (Specific, *-*-solaris2*): Document it.
2022-12-16Add a new warning option -Wstrict-flex-arrays.Qing Zhao1-1/+26
'-Wstrict-flex-arrays' Warn about inproper usages of flexible array members according to the LEVEL of the 'strict_flex_array (LEVEL)' attribute attached to the trailing array field of a structure if it's available, otherwise according to the LEVEL of the option '-fstrict-flex-arrays=LEVEL'. This option is effective only when LEVEL is bigger than 0. Otherwise, it will be ignored with a warning. when LEVEL=1, warnings will be issued for a trailing array reference of a structure that have 2 or more elements if the trailing array is referenced as a flexible array member. when LEVEL=2, in addition to LEVEL=1, additional warnings will be issued for a trailing one-element array reference of a structure if the array is referenced as a flexible array member. when LEVEL=3, in addition to LEVEL=2, additional warnings will be issued for a trailing zero-length array reference of a structure if the array is referenced as a flexible array member. gcc/ChangeLog: * doc/invoke.texi: Document -Wstrict-flex-arrays option. * gimple-array-bounds.cc (check_out_of_bounds_and_warn): Add two more arguments. (array_bounds_checker::check_array_ref): Issue warnings for -Wstrict-flex-arrays. * opts.cc (finish_options): Issue warning for unsupported combination of -Wstrict_flex_arrays and -fstrict-flex-array. * tree-vrp.cc (execute_ranger_vrp): Enable the pass when warn_strict_flex_array is true. gcc/c-family/ChangeLog: * c.opt (Wstrict-flex-arrays): New option. gcc/testsuite/ChangeLog: * gcc.dg/Warray-bounds-flex-arrays-1.c: Update testing case with -Wstrict-flex-arrays. * gcc.dg/Warray-bounds-flex-arrays-2.c: Likewise. * gcc.dg/Warray-bounds-flex-arrays-3.c: Likewise. * gcc.dg/Warray-bounds-flex-arrays-4.c: Likewise. * gcc.dg/Warray-bounds-flex-arrays-5.c: Likewise. * gcc.dg/Warray-bounds-flex-arrays-6.c: Likewise. * c-c++-common/Wstrict-flex-arrays.c: New test. * gcc.dg/Wstrict-flex-arrays-2.c: New test. * gcc.dg/Wstrict-flex-arrays-3.c: New test. * gcc.dg/Wstrict-flex-arrays.c: New test.
2022-12-16RISC-V: Note that __builtin_riscv_pause() implies XgnuzihintpausestatePalmer Dabbelt1-1/+3
gcc/ChangeLog: * doc/extend.texi (__builtin_riscv_pause): Imply Xgnuzihintpausestate.
2022-12-15doc: Fix documentation for __builtin_dynamic_object_sizeSiddhesh Poyarekar2-8/+17
__builtin_dynamic_object_size is missing from the full list of builtins, so add it. Also mention it alongside __builtin_object_size in the passes description. gcc/ChangeLog: * doc/extend.texi (__builtin_dynamic_object_size): Document builtin. * doc/passes.texi (Optimize calls to @code{__builtin_object_size}): Also mention __builtin_dynamic_object_size. Signed-off-by: Siddhesh Poyarekar <siddhesh@gotplt.org>
2022-12-15middle-end/70090: Document that -fsanitize=object-size uses dynamic sizeSiddhesh Poyarekar1-2/+2
Fix the documentation to say that object sizes are deduced using __builtin_dynamic_object_size. gcc/ChangeLog: PR middle-end/70090 * doc/invoke.texi (-fsanitize=object-size): Use __builtin_dynamic_object_size instead of __builtin_object_size. Signed-off-by: Siddhesh Poyarekar <siddhesh@gotplt.org>
2022-12-14Merge modula-2 front end onto gcc.Gaius Mulley3-7/+2890
This commit merges the devel/modula2 into master. The libraries reside in libgm2, the compiler in gcc/m2 and the testsuite in gcc/testsuite/gm2. ChangeLog: * configure.ac (target_libraries): Add target-libgm2. Add NCN_STRICT_CHECK_TARGET_TOOLS entry for gm2. Add GCC_TARGET_TOOL entry for gm2. (compare_exclusions) add gcc/m2/gm2-compiler/M2Version, gcc/m2/gm2-compiler-boot/SYSTEM and gcc/m2/gm2version. * Makefile.def (target_modules): Add libgm2. (flags_to_pass) Add GM2_FOR_TARGET, GM2FLAGS_FOR_TARGET. (dependencies) Add all-target-libgm2 and on=all-target-libatomic. (languages) Add entry for language=m2 with gcc-check-target=check-m2 and lib-check-target=check-target-libgm2. * Makefile.tpl (BUILD_EXPORTS): Add definition for GM2 and GM2FLAGS. (HOST_EXPORTS) Add definition for GM2. (BASE_TARGET_EXPORTS) Add definition for GM2. (GM2_FOR_BUILD) Defined. (GM2FLAGS) Defined. (GM2_FOR_TARGET) Defined. (GM2FLAGS_FOR_TARGET) Defined. (EXTRA_HOST_FLAGS) Defined. (POSTSTAGE1_FLAGS_TO_PASS) Add GM2 and GM2_FOR_BUILD. (EXTRA_TARGET_FLAGS) Add GM2 and GM2FLAGS. (EXTRA_GCC_FLAGS) Add GM2_FOR_TARGET. * configure: (Rebuilt). * Makefile.in: (Rebuilt). libgm2/ChangeLog: * Makefile.am: (New file). * autogen.sh: (New file). * config.h.in: (New file). * configure.ac: (New file). * libm2cor/KeyBoardLEDs.cc: (New file). * libm2cor/Makefile.am: (New file). * libm2iso/ChanConsts.h: (New file). * libm2iso/ErrnoCategory.cc: (New file). * libm2iso/Makefile.am: (New file). * libm2iso/RTco.cc: (New file). * libm2iso/m2rts.h: (New file). * libm2iso/wrapsock.c: (New file). * libm2iso/wraptime.c: (New file). * libm2log/Break.c: (New file). * libm2log/Makefile.am: (New file). * libm2min/Makefile.am: (New file). * libm2min/libc.c: (New file). * libm2pim/Makefile.am: (New file). * libm2pim/Selective.cc: (New file). * libm2pim/SysExceptions.cc: (New file). * libm2pim/UnixArgs.cc: (New file). * libm2pim/cgetopt.cc: (New file). * libm2pim/dtoa.cc: (New file). * libm2pim/errno.cc: (New file). * libm2pim/ldtoa.cc: (New file). * libm2pim/sckt.cc: (New file). * libm2pim/target.c: (New file). * libm2pim/termios.cc: (New file). * libm2pim/wrapc.c: (New file). * configure: (Rebuilt). * libm2log/Makefile.in: (Rebuilt). * libm2min/Makefile.in: (Rebuilt). * libm2cor/Makefile.in: (Rebuilt). * libm2pim/Makefile.in: (Rebuilt). * libm2iso/Makefile.in: (Rebuilt). gcc/ChangeLog: * configure.ac (HAVE_PYTHON): Test for Python3 added. * dwarf2out.cc (gen_compile_unit_die): Check language_string and language to DW_LANG_Modula2. * doc/install.texi: Add m2 as a language. (--disable-libgm2) Documented. Add make check-m2 to testing selected tests. * doc/sourcebuild.texi (GM2): New prerequisite item. (Python3 modules) New item. (libgm2) Added. (gcc/m2) Added. * configure: (Rebuilt). * config.in: (Rebuilt). gcc/m2/ChangeLog: * COPYING.FDL: (New file). * COPYING.RUNTIME: (New file). * COPYING3: (New file). * COPYING3.LIB: (New file). * Make-lang.in: (New file). * Make-maintainer.in: (New file). * NEWS: (New file). * README: (New file). * config-lang.in: (New file). * config-make.in: (New file). * configure.ac: (New file). * gm2-compiler/CLexBuf.def: (New file). * gm2-compiler/CLexBuf.mod: (New file). * gm2-compiler/FifoQueue.def: (New file). * gm2-compiler/FifoQueue.mod: (New file). * gm2-compiler/Lists.def: (New file). * gm2-compiler/Lists.mod: (New file). * gm2-compiler/M2ALU.def: (New file). * gm2-compiler/M2ALU.mod: (New file). * gm2-compiler/M2AsmUtil.def: (New file). * gm2-compiler/M2AsmUtil.mod: (New file). * gm2-compiler/M2Base.def: (New file). * gm2-compiler/M2Base.mod: (New file). * gm2-compiler/M2BasicBlock.def: (New file). * gm2-compiler/M2BasicBlock.mod: (New file). * gm2-compiler/M2Batch.def: (New file). * gm2-compiler/M2Batch.mod: (New file). * gm2-compiler/M2Bitset.def: (New file). * gm2-compiler/M2Bitset.mod: (New file). * gm2-compiler/M2CaseList.def: (New file). * gm2-compiler/M2CaseList.mod: (New file). * gm2-compiler/M2Check.def: (New file). * gm2-compiler/M2Check.mod: (New file). * gm2-compiler/M2Code.def: (New file). * gm2-compiler/M2Code.mod: (New file). * gm2-compiler/M2ColorString.def: (New file). * gm2-compiler/M2ColorString.mod: (New file). * gm2-compiler/M2Comp.def: (New file). * gm2-compiler/M2Comp.mod: (New file). * gm2-compiler/M2Const.def: (New file). * gm2-compiler/M2Const.mod: (New file). * gm2-compiler/M2Debug.def: (New file). * gm2-compiler/M2Debug.mod: (New file). * gm2-compiler/M2DebugStack.def: (New file). * gm2-compiler/M2DebugStack.mod: (New file). * gm2-compiler/M2Defaults.def: (New file). * gm2-compiler/M2Defaults.mod: (New file). * gm2-compiler/M2DriverOptions.def: (New file). * gm2-compiler/M2DriverOptions.mod: (New file). * gm2-compiler/M2Emit.def: (New file). * gm2-compiler/M2Emit.mod: (New file). * gm2-compiler/M2Error.def: (New file). * gm2-compiler/M2Error.mod: (New file). * gm2-compiler/M2EvalSym.def: (New file). * gm2-compiler/M2FileName.def: (New file). * gm2-compiler/M2FileName.mod: (New file). * gm2-compiler/M2GCCDeclare.def: (New file). * gm2-compiler/M2GCCDeclare.mod: (New file). * gm2-compiler/M2GenGCC.def: (New file). * gm2-compiler/M2GenGCC.mod: (New file). * gm2-compiler/M2Graph.def: (New file). * gm2-compiler/M2Graph.mod: (New file). * gm2-compiler/M2Lex.def: (New file). * gm2-compiler/M2Lex.mod: (New file). * gm2-compiler/M2LexBuf.def: (New file). * gm2-compiler/M2LexBuf.mod: (New file). * gm2-compiler/M2MetaError.def: (New file). * gm2-compiler/M2MetaError.mod: (New file). * gm2-compiler/M2Optimize.def: (New file). * gm2-compiler/M2Optimize.mod: (New file). * gm2-compiler/M2Options.def: (New file). * gm2-compiler/M2Options.mod: (New file). * gm2-compiler/M2Pass.def: (New file). * gm2-compiler/M2Pass.mod: (New file). * gm2-compiler/M2Preprocess.def: (New file). * gm2-compiler/M2Preprocess.mod: (New file). * gm2-compiler/M2Printf.def: (New file). * gm2-compiler/M2Printf.mod: (New file). * gm2-compiler/M2Quads.def: (New file). * gm2-compiler/M2Quads.mod: (New file). * gm2-compiler/M2Quiet.def: (New file). * gm2-compiler/M2Quiet.mod: (New file). * gm2-compiler/M2Range.def: (New file). * gm2-compiler/M2Range.mod: (New file). * gm2-compiler/M2Reserved.def: (New file). * gm2-compiler/M2Reserved.mod: (New file). * gm2-compiler/M2SSA.def: (New file). * gm2-compiler/M2SSA.mod: (New file). * gm2-compiler/M2Scaffold.def: (New file). * gm2-compiler/M2Scaffold.mod: (New file). * gm2-compiler/M2Scope.def: (New file). * gm2-compiler/M2Scope.mod: (New file). * gm2-compiler/M2Search.def: (New file). * gm2-compiler/M2Search.mod: (New file). * gm2-compiler/M2Size.def: (New file). * gm2-compiler/M2Size.mod: (New file). * gm2-compiler/M2StackAddress.def: (New file). * gm2-compiler/M2StackAddress.mod: (New file). * gm2-compiler/M2StackWord.def: (New file). * gm2-compiler/M2StackWord.mod: (New file). * gm2-compiler/M2Students.def: (New file). * gm2-compiler/M2Students.mod: (New file). * gm2-compiler/M2Swig.def: (New file). * gm2-compiler/M2Swig.mod: (New file). * gm2-compiler/M2System.def: (New file). * gm2-compiler/M2System.mod: (New file). * gm2-compiler/M2Version.def: (New file). * gm2-compiler/NameKey.def: (New file). * gm2-compiler/NameKey.mod: (New file). * gm2-compiler/ObjectFiles.def: (New file). * gm2-compiler/ObjectFiles.mod: (New file). * gm2-compiler/Output.def: (New file). * gm2-compiler/Output.mod: (New file). * gm2-compiler/P0SymBuild.def: (New file). * gm2-compiler/P0SymBuild.mod: (New file). * gm2-compiler/P0SyntaxCheck.bnf: (New file). * gm2-compiler/P0SyntaxCheck.def: (New file). * gm2-compiler/P1Build.bnf: (New file). * gm2-compiler/P1Build.def: (New file). * gm2-compiler/P1SymBuild.def: (New file). * gm2-compiler/P1SymBuild.mod: (New file). * gm2-compiler/P2Build.bnf: (New file). * gm2-compiler/P2Build.def: (New file). * gm2-compiler/P2SymBuild.def: (New file). * gm2-compiler/P2SymBuild.mod: (New file). * gm2-compiler/P3Build.bnf: (New file). * gm2-compiler/P3Build.def: (New file). * gm2-compiler/P3SymBuild.def: (New file). * gm2-compiler/P3SymBuild.mod: (New file). * gm2-compiler/PCBuild.bnf: (New file). * gm2-compiler/PCBuild.def: (New file). * gm2-compiler/PCSymBuild.def: (New file). * gm2-compiler/PCSymBuild.mod: (New file). * gm2-compiler/PHBuild.bnf: (New file). * gm2-compiler/PHBuild.def: (New file). * gm2-compiler/README: (New file). * gm2-compiler/Sets.def: (New file). * gm2-compiler/Sets.mod: (New file). * gm2-compiler/SymbolConversion.def: (New file). * gm2-compiler/SymbolConversion.mod: (New file). * gm2-compiler/SymbolKey.def: (New file). * gm2-compiler/SymbolKey.mod: (New file). * gm2-compiler/SymbolTable.def: (New file). * gm2-compiler/SymbolTable.mod: (New file). * gm2-compiler/bnflex.def: (New file). * gm2-compiler/bnflex.mod: (New file). * gm2-compiler/cflex.def: (New file). * gm2-compiler/gm2.mod: (New file). * gm2-compiler/gm2lcc.mod: (New file). * gm2-compiler/gm2lgen.mod: (New file). * gm2-compiler/gm2lorder.mod: (New file). * gm2-compiler/m2flex.def: (New file). * gm2-compiler/ppg.mod: (New file). * gm2-gcc/README: (New file). * gm2-gcc/dynamicstrings.h: (New file). * gm2-gcc/gcc-consolidation.h: (New file). * gm2-gcc/init.cc: (New file). * gm2-gcc/init.def: (New file). * gm2-gcc/init.h: (New file). * gm2-gcc/m2assert.cc: (New file). * gm2-gcc/m2assert.h: (New file). * gm2-gcc/m2block.cc: (New file). * gm2-gcc/m2block.def: (New file). * gm2-gcc/m2block.h: (New file). * gm2-gcc/m2builtins.cc: (New file). * gm2-gcc/m2builtins.def: (New file). * gm2-gcc/m2builtins.h: (New file). * gm2-gcc/m2color.cc: (New file). * gm2-gcc/m2color.def: (New file). * gm2-gcc/m2color.h: (New file). * gm2-gcc/m2configure.cc: (New file). * gm2-gcc/m2configure.def: (New file). * gm2-gcc/m2configure.h: (New file). * gm2-gcc/m2convert.cc: (New file). * gm2-gcc/m2convert.def: (New file). * gm2-gcc/m2convert.h: (New file). * gm2-gcc/m2decl.cc: (New file). * gm2-gcc/m2decl.def: (New file). * gm2-gcc/m2decl.h: (New file). * gm2-gcc/m2except.cc: (New file). * gm2-gcc/m2except.def: (New file). * gm2-gcc/m2except.h: (New file). * gm2-gcc/m2expr.cc: (New file). * gm2-gcc/m2expr.def: (New file). * gm2-gcc/m2expr.h: (New file). * gm2-gcc/m2linemap.cc: (New file). * gm2-gcc/m2linemap.def: (New file). * gm2-gcc/m2linemap.h: (New file). * gm2-gcc/m2misc.cc: (New file). * gm2-gcc/m2misc.def: (New file). * gm2-gcc/m2misc.h: (New file). * gm2-gcc/m2options.h: (New file). * gm2-gcc/m2range.h: (New file). * gm2-gcc/m2search.h: (New file). * gm2-gcc/m2statement.cc: (New file). * gm2-gcc/m2statement.def: (New file). * gm2-gcc/m2statement.h: (New file). * gm2-gcc/m2top.cc: (New file). * gm2-gcc/m2top.def: (New file). * gm2-gcc/m2top.h: (New file). * gm2-gcc/m2tree.cc: (New file). * gm2-gcc/m2tree.def: (New file). * gm2-gcc/m2tree.h: (New file). * gm2-gcc/m2treelib.cc: (New file). * gm2-gcc/m2treelib.def: (New file). * gm2-gcc/m2treelib.h: (New file). * gm2-gcc/m2type.cc: (New file). * gm2-gcc/m2type.def: (New file). * gm2-gcc/m2type.h: (New file). * gm2-gcc/rtegraph.cc: (New file). * gm2-gcc/rtegraph.h: (New file). * gm2-ici/M2Emit.mod: (New file). * gm2-ici/README: (New file). * gm2-ici/m2linemap.c: (New file). * gm2-internals.texi: (New file). * gm2-lang.cc: (New file). * gm2-lang.h: (New file). * gm2-libiberty/README: (New file). * gm2-libiberty/choosetemp.def: (New file). * gm2-libiberty/pexecute.def: (New file). * gm2-libs-ch/M2LINK.c: (New file). * gm2-libs-ch/README: (New file). * gm2-libs-ch/RTcodummy.c: (New file). * gm2-libs-ch/RTintdummy.c: (New file). * gm2-libs-ch/Selective.c: (New file). * gm2-libs-ch/SysExceptions.c: (New file). * gm2-libs-ch/UnixArgs.cc: (New file). * gm2-libs-ch/cgetopt.c: (New file). * gm2-libs-ch/choosetemp.c: (New file). * gm2-libs-ch/dtoa.cc: (New file). * gm2-libs-ch/errno.c: (New file). * gm2-libs-ch/host.c: (New file). * gm2-libs-ch/ldtoa.cc: (New file). * gm2-libs-ch/m2rts.h: (New file). * gm2-libs-ch/termios.c: (New file). * gm2-libs-ch/tools.c: (New file). * gm2-libs-ch/wrapc.c: (New file). * gm2-libs-ch/xlibc.c: (New file). * gm2-libs-coroutines/Debug.def: (New file). * gm2-libs-coroutines/Debug.mod: (New file). * gm2-libs-coroutines/Executive.def: (New file). * gm2-libs-coroutines/Executive.mod: (New file). * gm2-libs-coroutines/KeyBoardLEDs.def: (New file). * gm2-libs-coroutines/README.texi: (New file). * gm2-libs-coroutines/SYSTEM.def: (New file). * gm2-libs-coroutines/SYSTEM.mod: (New file). * gm2-libs-coroutines/TimerHandler.def: (New file). * gm2-libs-coroutines/TimerHandler.mod: (New file). * gm2-libs-iso/COROUTINES.def: (New file). * gm2-libs-iso/COROUTINES.mod: (New file). * gm2-libs-iso/ChanConsts.def: (New file). * gm2-libs-iso/ChanConsts.h: (New file). * gm2-libs-iso/ChanConsts.mod: (New file). * gm2-libs-iso/CharClass.def: (New file). * gm2-libs-iso/CharClass.mod: (New file). * gm2-libs-iso/ClientSocket.def: (New file). * gm2-libs-iso/ClientSocket.mod: (New file). * gm2-libs-iso/ComplexMath.def: (New file). * gm2-libs-iso/ComplexMath.mod: (New file). * gm2-libs-iso/ConvStringLong.def: (New file). * gm2-libs-iso/ConvStringLong.mod: (New file). * gm2-libs-iso/ConvStringReal.def: (New file). * gm2-libs-iso/ConvStringReal.mod: (New file). * gm2-libs-iso/ConvTypes.def: (New file). * gm2-libs-iso/ConvTypes.mod: (New file). * gm2-libs-iso/EXCEPTIONS.def: (New file). * gm2-libs-iso/EXCEPTIONS.mod: (New file). * gm2-libs-iso/ErrnoCategory.def: (New file). * gm2-libs-iso/GeneralUserExceptions.def: (New file). * gm2-libs-iso/GeneralUserExceptions.mod: (New file). * gm2-libs-iso/IOChan.def: (New file). * gm2-libs-iso/IOChan.mod: (New file). * gm2-libs-iso/IOConsts.def: (New file). * gm2-libs-iso/IOConsts.mod: (New file). * gm2-libs-iso/IOLink.def: (New file). * gm2-libs-iso/IOLink.mod: (New file). * gm2-libs-iso/IOResult.def: (New file). * gm2-libs-iso/IOResult.mod: (New file). * gm2-libs-iso/LongComplexMath.def: (New file). * gm2-libs-iso/LongComplexMath.mod: (New file). * gm2-libs-iso/LongConv.def: (New file). * gm2-libs-iso/LongConv.mod: (New file). * gm2-libs-iso/LongIO.def: (New file). * gm2-libs-iso/LongIO.mod: (New file). * gm2-libs-iso/LongMath.def: (New file). * gm2-libs-iso/LongMath.mod: (New file). * gm2-libs-iso/LongStr.def: (New file). * gm2-libs-iso/LongStr.mod: (New file). * gm2-libs-iso/LongWholeIO.def: (New file). * gm2-libs-iso/LongWholeIO.mod: (New file). * gm2-libs-iso/LowLong.def: (New file). * gm2-libs-iso/LowLong.mod: (New file). * gm2-libs-iso/LowReal.def: (New file). * gm2-libs-iso/LowReal.mod: (New file). * gm2-libs-iso/LowShort.def: (New file). * gm2-libs-iso/LowShort.mod: (New file). * gm2-libs-iso/M2EXCEPTION.def: (New file). * gm2-libs-iso/M2EXCEPTION.mod: (New file). * gm2-libs-iso/M2RTS.def: (New file). * gm2-libs-iso/M2RTS.mod: (New file). * gm2-libs-iso/MemStream.def: (New file). * gm2-libs-iso/MemStream.mod: (New file). * gm2-libs-iso/Preemptive.def: (New file). * gm2-libs-iso/Preemptive.mod: (New file). * gm2-libs-iso/Processes.def: (New file). * gm2-libs-iso/Processes.mod: (New file). * gm2-libs-iso/ProgramArgs.def: (New file). * gm2-libs-iso/ProgramArgs.mod: (New file). * gm2-libs-iso/README.texi: (New file). * gm2-libs-iso/RTco.def: (New file). * gm2-libs-iso/RTdata.def: (New file). * gm2-libs-iso/RTdata.mod: (New file). * gm2-libs-iso/RTentity.def: (New file). * gm2-libs-iso/RTentity.mod: (New file). * gm2-libs-iso/RTfio.def: (New file). * gm2-libs-iso/RTfio.mod: (New file). * gm2-libs-iso/RTgen.def: (New file). * gm2-libs-iso/RTgen.mod: (New file). * gm2-libs-iso/RTgenif.def: (New file). * gm2-libs-iso/RTgenif.mod: (New file). * gm2-libs-iso/RTio.def: (New file). * gm2-libs-iso/RTio.mod: (New file). * gm2-libs-iso/RandomNumber.def: (New file). * gm2-libs-iso/RandomNumber.mod: (New file). * gm2-libs-iso/RawIO.def: (New file). * gm2-libs-iso/RawIO.mod: (New file). * gm2-libs-iso/RealConv.def: (New file). * gm2-libs-iso/RealConv.mod: (New file). * gm2-libs-iso/RealIO.def: (New file). * gm2-libs-iso/RealIO.mod: (New file). * gm2-libs-iso/RealMath.def: (New file). * gm2-libs-iso/RealMath.mod: (New file). * gm2-libs-iso/RealStr.def: (New file). * gm2-libs-iso/RealStr.mod: (New file). * gm2-libs-iso/RndFile.def: (New file). * gm2-libs-iso/RndFile.mod: (New file). * gm2-libs-iso/SIOResult.def: (New file). * gm2-libs-iso/SIOResult.mod: (New file). * gm2-libs-iso/SLongIO.def: (New file). * gm2-libs-iso/SLongIO.mod: (New file). * gm2-libs-iso/SLongWholeIO.def: (New file). * gm2-libs-iso/SLongWholeIO.mod: (New file). * gm2-libs-iso/SRawIO.def: (New file). * gm2-libs-iso/SRawIO.mod: (New file). * gm2-libs-iso/SRealIO.def: (New file). * gm2-libs-iso/SRealIO.mod: (New file). * gm2-libs-iso/SShortIO.def: (New file). * gm2-libs-iso/SShortIO.mod: (New file). * gm2-libs-iso/SShortWholeIO.def: (New file). * gm2-libs-iso/SShortWholeIO.mod: (New file). * gm2-libs-iso/STextIO.def: (New file). * gm2-libs-iso/STextIO.mod: (New file). * gm2-libs-iso/SWholeIO.def: (New file). * gm2-libs-iso/SWholeIO.mod: (New file). * gm2-libs-iso/SYSTEM.def: (New file). * gm2-libs-iso/SYSTEM.mod: (New file). * gm2-libs-iso/Semaphores.def: (New file). * gm2-libs-iso/Semaphores.mod: (New file). * gm2-libs-iso/SeqFile.def: (New file). * gm2-libs-iso/SeqFile.mod: (New file). * gm2-libs-iso/ShortComplexMath.def: (New file). * gm2-libs-iso/ShortComplexMath.mod: (New file). * gm2-libs-iso/ShortIO.def: (New file). * gm2-libs-iso/ShortIO.mod: (New file). * gm2-libs-iso/ShortWholeIO.def: (New file). * gm2-libs-iso/ShortWholeIO.mod: (New file). * gm2-libs-iso/SimpleCipher.def: (New file). * gm2-libs-iso/SimpleCipher.mod: (New file). * gm2-libs-iso/StdChans.def: (New file). * gm2-libs-iso/StdChans.mod: (New file). * gm2-libs-iso/Storage.def: (New file). * gm2-libs-iso/Storage.mod: (New file). * gm2-libs-iso/StreamFile.def: (New file). * gm2-libs-iso/StreamFile.mod: (New file). * gm2-libs-iso/StringChan.def: (New file). * gm2-libs-iso/StringChan.mod: (New file). * gm2-libs-iso/Strings.def: (New file). * gm2-libs-iso/Strings.mod: (New file). * gm2-libs-iso/SysClock.def: (New file). * gm2-libs-iso/SysClock.mod: (New file). * gm2-libs-iso/TERMINATION.def: (New file). * gm2-libs-iso/TERMINATION.mod: (New file). * gm2-libs-iso/TermFile.def: (New file). * gm2-libs-iso/TermFile.mod: (New file). * gm2-libs-iso/TextIO.def: (New file). * gm2-libs-iso/TextIO.mod: (New file). * gm2-libs-iso/WholeConv.def: (New file). * gm2-libs-iso/WholeConv.mod: (New file). * gm2-libs-iso/WholeIO.def: (New file). * gm2-libs-iso/WholeIO.mod: (New file). * gm2-libs-iso/WholeStr.def: (New file). * gm2-libs-iso/WholeStr.mod: (New file). * gm2-libs-iso/wrapsock.c: (New file). * gm2-libs-iso/wrapsock.def: (New file). * gm2-libs-iso/wraptime.c: (New file). * gm2-libs-iso/wraptime.def: (New file). * gm2-libs-min/M2RTS.def: (New file). * gm2-libs-min/M2RTS.mod: (New file). * gm2-libs-min/SYSTEM.def: (New file). * gm2-libs-min/SYSTEM.mod: (New file). * gm2-libs-min/libc.c: (New file). * gm2-libs-min/libc.def: (New file). * gm2-libs-pim/BitBlockOps.def: (New file). * gm2-libs-pim/BitBlockOps.mod: (New file). * gm2-libs-pim/BitByteOps.def: (New file). * gm2-libs-pim/BitByteOps.mod: (New file). * gm2-libs-pim/BitWordOps.def: (New file). * gm2-libs-pim/BitWordOps.mod: (New file). * gm2-libs-pim/BlockOps.def: (New file). * gm2-libs-pim/BlockOps.mod: (New file). * gm2-libs-pim/Break.c: (New file). * gm2-libs-pim/Break.def: (New file). * gm2-libs-pim/CardinalIO.def: (New file). * gm2-libs-pim/CardinalIO.mod: (New file). * gm2-libs-pim/Conversions.def: (New file). * gm2-libs-pim/Conversions.mod: (New file). * gm2-libs-pim/DebugPMD.def: (New file). * gm2-libs-pim/DebugPMD.mod: (New file). * gm2-libs-pim/DebugTrace.def: (New file). * gm2-libs-pim/DebugTrace.mod: (New file). * gm2-libs-pim/Delay.def: (New file). * gm2-libs-pim/Delay.mod: (New file). * gm2-libs-pim/Display.def: (New file). * gm2-libs-pim/Display.mod: (New file). * gm2-libs-pim/ErrorCode.def: (New file). * gm2-libs-pim/ErrorCode.mod: (New file). * gm2-libs-pim/FileSystem.def: (New file). * gm2-libs-pim/FileSystem.mod: (New file). * gm2-libs-pim/FloatingUtilities.def: (New file). * gm2-libs-pim/FloatingUtilities.mod: (New file). * gm2-libs-pim/InOut.def: (New file). * gm2-libs-pim/InOut.mod: (New file). * gm2-libs-pim/Keyboard.def: (New file). * gm2-libs-pim/Keyboard.mod: (New file). * gm2-libs-pim/LongIO.def: (New file). * gm2-libs-pim/LongIO.mod: (New file). * gm2-libs-pim/NumberConversion.def: (New file). * gm2-libs-pim/NumberConversion.mod: (New file). * gm2-libs-pim/README.texi: (New file). * gm2-libs-pim/Random.def: (New file). * gm2-libs-pim/Random.mod: (New file). * gm2-libs-pim/RealConversions.def: (New file). * gm2-libs-pim/RealConversions.mod: (New file). * gm2-libs-pim/RealInOut.def: (New file). * gm2-libs-pim/RealInOut.mod: (New file). * gm2-libs-pim/Strings.def: (New file). * gm2-libs-pim/Strings.mod: (New file). * gm2-libs-pim/Termbase.def: (New file). * gm2-libs-pim/Termbase.mod: (New file). * gm2-libs-pim/Terminal.def: (New file). * gm2-libs-pim/Terminal.mod: (New file). * gm2-libs-pim/TimeDate.def: (New file). * gm2-libs-pim/TimeDate.mod: (New file). * gm2-libs/ASCII.def: (New file). * gm2-libs/ASCII.mod: (New file). * gm2-libs/Args.def: (New file). * gm2-libs/Args.mod: (New file). * gm2-libs/Assertion.def: (New file). * gm2-libs/Assertion.mod: (New file). * gm2-libs/Break.def: (New file). * gm2-libs/Break.mod: (New file). * gm2-libs/Builtins.def: (New file). * gm2-libs/Builtins.mod: (New file). * gm2-libs/COROUTINES.def: (New file). * gm2-libs/COROUTINES.mod: (New file). * gm2-libs/CmdArgs.def: (New file). * gm2-libs/CmdArgs.mod: (New file). * gm2-libs/Debug.def: (New file). * gm2-libs/Debug.mod: (New file). * gm2-libs/DynamicStrings.def: (New file). * gm2-libs/DynamicStrings.mod: (New file). * gm2-libs/Environment.def: (New file). * gm2-libs/Environment.mod: (New file). * gm2-libs/FIO.def: (New file). * gm2-libs/FIO.mod: (New file). * gm2-libs/FormatStrings.def: (New file). * gm2-libs/FormatStrings.mod: (New file). * gm2-libs/FpuIO.def: (New file). * gm2-libs/FpuIO.mod: (New file). * gm2-libs/GetOpt.def: (New file). * gm2-libs/GetOpt.mod: (New file). * gm2-libs/IO.def: (New file). * gm2-libs/IO.mod: (New file). * gm2-libs/Indexing.def: (New file). * gm2-libs/Indexing.mod: (New file). * gm2-libs/LMathLib0.def: (New file). * gm2-libs/LMathLib0.mod: (New file). * gm2-libs/LegacyReal.def: (New file). * gm2-libs/LegacyReal.mod: (New file). * gm2-libs/M2Dependent.def: (New file). * gm2-libs/M2Dependent.mod: (New file). * gm2-libs/M2EXCEPTION.def: (New file). * gm2-libs/M2EXCEPTION.mod: (New file). * gm2-libs/M2LINK.def: (New file). * gm2-libs/M2RTS.def: (New file). * gm2-libs/M2RTS.mod: (New file). * gm2-libs/MathLib0.def: (New file). * gm2-libs/MathLib0.mod: (New file). * gm2-libs/MemUtils.def: (New file). * gm2-libs/MemUtils.mod: (New file). * gm2-libs/NumberIO.def: (New file). * gm2-libs/NumberIO.mod: (New file). * gm2-libs/OptLib.def: (New file). * gm2-libs/OptLib.mod: (New file). * gm2-libs/PushBackInput.def: (New file). * gm2-libs/PushBackInput.mod: (New file). * gm2-libs/README.texi: (New file). * gm2-libs/RTExceptions.def: (New file). * gm2-libs/RTExceptions.mod: (New file). * gm2-libs/RTint.def: (New file). * gm2-libs/RTint.mod: (New file). * gm2-libs/SArgs.def: (New file). * gm2-libs/SArgs.mod: (New file). * gm2-libs/SCmdArgs.def: (New file). * gm2-libs/SCmdArgs.mod: (New file). * gm2-libs/SEnvironment.def: (New file). * gm2-libs/SEnvironment.mod: (New file). * gm2-libs/SFIO.def: (New file). * gm2-libs/SFIO.mod: (New file). * gm2-libs/SMathLib0.def: (New file). * gm2-libs/SMathLib0.mod: (New file). * gm2-libs/SYSTEM.def: (New file). * gm2-libs/SYSTEM.mod: (New file). * gm2-libs/Scan.def: (New file). * gm2-libs/Scan.mod: (New file). * gm2-libs/Selective.def: (New file). * gm2-libs/StdIO.def: (New file). * gm2-libs/StdIO.mod: (New file). * gm2-libs/Storage.def: (New file). * gm2-libs/Storage.mod: (New file). * gm2-libs/StrCase.def: (New file). * gm2-libs/StrCase.mod: (New file). * gm2-libs/StrIO.def: (New file). * gm2-libs/StrIO.mod: (New file). * gm2-libs/StrLib.def: (New file). * gm2-libs/StrLib.mod: (New file). * gm2-libs/StringConvert.def: (New file). * gm2-libs/StringConvert.mod: (New file). * gm2-libs/SysExceptions.def: (New file). * gm2-libs/SysStorage.def: (New file). * gm2-libs/SysStorage.mod: (New file). * gm2-libs/TimeString.def: (New file). * gm2-libs/TimeString.mod: (New file). * gm2-libs/UnixArgs.def: (New file). * gm2-libs/cbuiltin.def: (New file). * gm2-libs/cgetopt.def: (New file). * gm2-libs/config-host: (New file). * gm2-libs/config-host.in: (New file). * gm2-libs/cxxabi.def: (New file). * gm2-libs/dtoa.def: (New file). * gm2-libs/errno.def: (New file). * gm2-libs/gdbif.def: (New file). * gm2-libs/gdbif.mod: (New file). * gm2-libs/gm2-libs-host.h.in: (New file). * gm2-libs/ldtoa.def: (New file). * gm2-libs/libc.def: (New file). * gm2-libs/libm.def: (New file). * gm2-libs/sckt.def: (New file). * gm2-libs/termios.def: (New file). * gm2-libs/wrapc.def: (New file). * gm2config.h.in: (New file). * gm2spec.cc: (New file). * gm2version.h: (New file). * init/README: (New file). * init/mcinit: (New file). * init/ppginit: (New file). * lang-specs.h: (New file). * lang.opt: (New file). * m2-tree.def: (New file). * m2-tree.h: (New file). * m2.flex: (New file). * m2pp.cc: (New file). * m2pp.h: (New file). * mc-boot-ch/GBuiltins.c: (New file). * mc-boot-ch/GM2LINK.c: (New file). * mc-boot-ch/GRTco.c: (New file). * mc-boot-ch/GSYSTEM.c: (New file). * mc-boot-ch/GSelective.c: (New file). * mc-boot-ch/GSysExceptions.c: (New file). * mc-boot-ch/GUnixArgs.cc: (New file). * mc-boot-ch/Gabort.c: (New file). * mc-boot-ch/Gcbuiltin.c: (New file). * mc-boot-ch/Gdtoa.c: (New file). * mc-boot-ch/Gerrno.c: (New file). * mc-boot-ch/Gldtoa.c: (New file). * mc-boot-ch/Glibc.c: (New file). * mc-boot-ch/Glibm.c: (New file). * mc-boot-ch/Gmcrts.c: (New file). * mc-boot-ch/Gmcrts.h: (New file). * mc-boot-ch/Gnetwork.h: (New file). * mc-boot-ch/Gtermios.cc: (New file). * mc-boot-ch/Gwrapc.c: (New file). * mc-boot-ch/README: (New file). * mc-boot-ch/m2rts.h: (New file). * mc-boot-ch/network.c: (New file). * mc-boot/GASCII.c: (New file). * mc-boot/GASCII.h: (New file). * mc-boot/GArgs.c: (New file). * mc-boot/GArgs.h: (New file). * mc-boot/GAssertion.c: (New file). * mc-boot/GAssertion.h: (New file). * mc-boot/GBreak.c: (New file). * mc-boot/GBreak.h: (New file). * mc-boot/GCOROUTINES.h: (New file). * mc-boot/GCmdArgs.c: (New file). * mc-boot/GCmdArgs.h: (New file). * mc-boot/GDebug.c: (New file). * mc-boot/GDebug.h: (New file). * mc-boot/GDynamicStrings.c: (New file). * mc-boot/GDynamicStrings.h: (New file). * mc-boot/GEnvironment.c: (New file). * mc-boot/GEnvironment.h: (New file). * mc-boot/GFIO.c: (New file). * mc-boot/GFIO.h: (New file). * mc-boot/GFormatStrings.c: (New file). * mc-boot/GFormatStrings.h: (New file). * mc-boot/GFpuIO.c: (New file). * mc-boot/GFpuIO.h: (New file). * mc-boot/GIO.c: (New file). * mc-boot/GIO.h: (New file). * mc-boot/GIndexing.c: (New file). * mc-boot/GIndexing.h: (New file). * mc-boot/GM2Dependent.c: (New file). * mc-boot/GM2Dependent.h: (New file). * mc-boot/GM2EXCEPTION.c: (New file). * mc-boot/GM2EXCEPTION.h: (New file). * mc-boot/GM2LINK.h: (New file). * mc-boot/GM2RTS.c: (New file). * mc-boot/GM2RTS.h: (New file). * mc-boot/GMemUtils.c: (New file). * mc-boot/GMemUtils.h: (New file). * mc-boot/GNumberIO.c: (New file). * mc-boot/GNumberIO.h: (New file). * mc-boot/GPushBackInput.c: (New file). * mc-boot/GPushBackInput.h: (New file). * mc-boot/GRTExceptions.c: (New file). * mc-boot/GRTExceptions.h: (New file). * mc-boot/GRTco.h: (New file). * mc-boot/GRTint.c: (New file). * mc-boot/GRTint.h: (New file). * mc-boot/GSArgs.c: (New file). * mc-boot/GSArgs.h: (New file). * mc-boot/GSFIO.c: (New file). * mc-boot/GSFIO.h: (New file). * mc-boot/GSYSTEM.h: (New file). * mc-boot/GSelective.h: (New file). * mc-boot/GStdIO.c: (New file). * mc-boot/GStdIO.h: (New file). * mc-boot/GStorage.c: (New file). * mc-boot/GStorage.h: (New file). * mc-boot/GStrCase.c: (New file). * mc-boot/GStrCase.h: (New file). * mc-boot/GStrIO.c: (New file). * mc-boot/GStrIO.h: (New file). * mc-boot/GStrLib.c: (New file). * mc-boot/GStrLib.h: (New file). * mc-boot/GStringConvert.c: (New file). * mc-boot/GStringConvert.h: (New file). * mc-boot/GSysExceptions.h: (New file). * mc-boot/GSysStorage.c: (New file). * mc-boot/GSysStorage.h: (New file). * mc-boot/GTimeString.c: (New file). * mc-boot/GTimeString.h: (New file). * mc-boot/GUnixArgs.h: (New file). * mc-boot/Galists.c: (New file). * mc-boot/Galists.h: (New file). * mc-boot/Gdecl.c: (New file). * mc-boot/Gdecl.h: (New file). * mc-boot/Gdtoa.h: (New file). * mc-boot/Gerrno.h: (New file). * mc-boot/Gkeyc.c: (New file). * mc-boot/Gkeyc.h: (New file). * mc-boot/Gldtoa.h: (New file). * mc-boot/Glibc.h: (New file). * mc-boot/Glibm.h: (New file). * mc-boot/Glists.c: (New file). * mc-boot/Glists.h: (New file). * mc-boot/GmcComment.c: (New file). * mc-boot/GmcComment.h: (New file). * mc-boot/GmcComp.c: (New file). * mc-boot/GmcComp.h: (New file). * mc-boot/GmcDebug.c: (New file). * mc-boot/GmcDebug.h: (New file). * mc-boot/GmcError.c: (New file). * mc-boot/GmcError.h: (New file). * mc-boot/GmcFileName.c: (New file). * mc-boot/GmcFileName.h: (New file). * mc-boot/GmcLexBuf.c: (New file). * mc-boot/GmcLexBuf.h: (New file). * mc-boot/GmcMetaError.c: (New file). * mc-boot/GmcMetaError.h: (New file). * mc-boot/GmcOptions.c: (New file). * mc-boot/GmcOptions.h: (New file). * mc-boot/GmcPreprocess.c: (New file). * mc-boot/GmcPreprocess.h: (New file). * mc-boot/GmcPretty.c: (New file). * mc-boot/GmcPretty.h: (New file). * mc-boot/GmcPrintf.c: (New file). * mc-boot/GmcPrintf.h: (New file). * mc-boot/GmcQuiet.c: (New file). * mc-boot/GmcQuiet.h: (New file). * mc-boot/GmcReserved.c: (New file). * mc-boot/GmcReserved.h: (New file). * mc-boot/GmcSearch.c: (New file). * mc-boot/GmcSearch.h: (New file). * mc-boot/GmcStack.c: (New file). * mc-boot/GmcStack.h: (New file). * mc-boot/GmcStream.c: (New file). * mc-boot/GmcStream.h: (New file). * mc-boot/Gmcflex.h: (New file). * mc-boot/Gmcp1.c: (New file). * mc-boot/Gmcp1.h: (New file). * mc-boot/Gmcp2.c: (New file). * mc-boot/Gmcp2.h: (New file). * mc-boot/Gmcp3.c: (New file). * mc-boot/Gmcp3.h: (New file). * mc-boot/Gmcp4.c: (New file). * mc-boot/Gmcp4.h: (New file). * mc-boot/Gmcp5.c: (New file). * mc-boot/Gmcp5.h: (New file). * mc-boot/GnameKey.c: (New file). * mc-boot/GnameKey.h: (New file). * mc-boot/Gpth.h: (New file). * mc-boot/GsymbolKey.c: (New file). * mc-boot/GsymbolKey.h: (New file). * mc-boot/Gtermios.h: (New file). * mc-boot/Gtop.c: (New file). * mc-boot/Gvarargs.c: (New file). * mc-boot/Gvarargs.h: (New file). * mc-boot/Gwlists.c: (New file). * mc-boot/Gwlists.h: (New file). * mc-boot/Gwrapc.h: (New file). * mc-boot/README: (New file). * mc/Indexing.def: (New file). * mc/Indexing.mod: (New file). * mc/README: (New file). * mc/alists.def: (New file). * mc/alists.mod: (New file). * mc/decl.def: (New file). * mc/decl.mod: (New file). * mc/decl.mod-extra: (New file). * mc/keyc.def: (New file). * mc/keyc.mod: (New file). * mc/lists.def: (New file). * mc/lists.mod: (New file). * mc/m2flex.def: (New file). * mc/mc.flex: (New file). * mc/mcComment.def: (New file). * mc/mcComment.h: (New file). * mc/mcComment.mod: (New file). * mc/mcComp.def: (New file). * mc/mcComp.mod: (New file). * mc/mcDebug.def: (New file). * mc/mcDebug.mod: (New file). * mc/mcError.def: (New file). * mc/mcError.mod: (New file). * mc/mcFileName.def: (New file). * mc/mcFileName.mod: (New file). * mc/mcLexBuf.def: (New file). * mc/mcLexBuf.h: (New file). * mc/mcLexBuf.mod: (New file). * mc/mcMetaError.def: (New file). * mc/mcMetaError.mod: (New file). * mc/mcOptions.def: (New file). * mc/mcOptions.mod: (New file). * mc/mcPreprocess.def: (New file). * mc/mcPreprocess.mod: (New file). * mc/mcPretty.def: (New file). * mc/mcPretty.mod: (New file). * mc/mcPrintf.def: (New file). * mc/mcPrintf.mod: (New file). * mc/mcQuiet.def: (New file). * mc/mcQuiet.mod: (New file). * mc/mcReserved.def: (New file). * mc/mcReserved.h: (New file). * mc/mcReserved.mod: (New file). * mc/mcSearch.def: (New file). * mc/mcSearch.mod: (New file). * mc/mcStack.def: (New file). * mc/mcStack.mod: (New file). * mc/mcStream.def: (New file). * mc/mcStream.mod: (New file). * mc/mcflex.def: (New file). * mc/mcp1.bnf: (New file). * mc/mcp1.def: (New file). * mc/mcp2.bnf: (New file). * mc/mcp2.def: (New file). * mc/mcp3.bnf: (New file). * mc/mcp3.def: (New file). * mc/mcp4.bnf: (New file). * mc/mcp4.def: (New file). * mc/mcp5.bnf: (New file). * mc/mcp5.def: (New file). * mc/nameKey.def: (New file). * mc/nameKey.mod: (New file). * mc/symbolKey.def: (New file). * mc/symbolKey.mod: (New file). * mc/top.mod: (New file). * mc/varargs.def: (New file). * mc/varargs.mod: (New file). * mc/wlists.def: (New file). * mc/wlists.mod: (New file). * pge-boot/GASCII.c: (New file). * pge-boot/GASCII.h: (New file). * pge-boot/GArgs.c: (New file). * pge-boot/GArgs.h: (New file). * pge-boot/GAssertion.c: (New file). * pge-boot/GAssertion.h: (New file). * pge-boot/GBreak.h: (New file). * pge-boot/GBuiltins.c: (New file). * pge-boot/GCmdArgs.h: (New file). * pge-boot/GDebug.c: (New file). * pge-boot/GDebug.h: (New file). * pge-boot/GDynamicStrings.c: (New file). * pge-boot/GDynamicStrings.h: (New file). * pge-boot/GEnvironment.h: (New file). * pge-boot/GFIO.c: (New file). * pge-boot/GFIO.h: (New file). * pge-boot/GFormatStrings.h: (New file). * pge-boot/GFpuIO.h: (New file). * pge-boot/GIO.c: (New file). * pge-boot/GIO.h: (New file). * pge-boot/GIndexing.c: (New file). * pge-boot/GIndexing.h: (New file). * pge-boot/GLists.c: (New file). * pge-boot/GLists.h: (New file). * pge-boot/GM2Dependent.c: (New file). * pge-boot/GM2Dependent.h: (New file). * pge-boot/GM2EXCEPTION.c: (New file). * pge-boot/GM2EXCEPTION.h: (New file). * pge-boot/GM2LINK.c: (New file). * pge-boot/GM2LINK.h: (New file). * pge-boot/GM2RTS.c: (New file). * pge-boot/GM2RTS.h: (New file). * pge-boot/GNameKey.c: (New file). * pge-boot/GNameKey.h: (New file). * pge-boot/GNumberIO.c: (New file). * pge-boot/GNumberIO.h: (New file). * pge-boot/GOutput.c: (New file). * pge-boot/GOutput.h: (New file). * pge-boot/GPushBackInput.c: (New file). * pge-boot/GPushBackInput.h: (New file). * pge-boot/GRTExceptions.c: (New file). * pge-boot/GRTExceptions.h: (New file). * pge-boot/GRTco.c: (New file). * pge-boot/GSArgs.h: (New file). * pge-boot/GSEnvironment.h: (New file). * pge-boot/GSFIO.c: (New file). * pge-boot/GSFIO.h: (New file). * pge-boot/GSYSTEM.c: (New file). * pge-boot/GSYSTEM.h: (New file). * pge-boot/GScan.h: (New file). * pge-boot/GSelective.c: (New file). * pge-boot/GStdIO.c: (New file). * pge-boot/GStdIO.h: (New file). * pge-boot/GStorage.c: (New file). * pge-boot/GStorage.h: (New file). * pge-boot/GStrCase.c: (New file). * pge-boot/GStrCase.h: (New file). * pge-boot/GStrIO.c: (New file). * pge-boot/GStrIO.h: (New file). * pge-boot/GStrLib.c: (New file). * pge-boot/GStrLib.h: (New file). * pge-boot/GStringConvert.h: (New file). * pge-boot/GSymbolKey.c: (New file). * pge-boot/GSymbolKey.h: (New file). * pge-boot/GSysExceptions.c: (New file). * pge-boot/GSysExceptions.h: (New file). * pge-boot/GSysStorage.c: (New file). * pge-boot/GSysStorage.h: (New file). * pge-boot/GTimeString.h: (New file). * pge-boot/GUnixArgs.cc: (New file). * pge-boot/GUnixArgs.h: (New file). * pge-boot/Gabort.c: (New file). * pge-boot/Gbnflex.c: (New file). * pge-boot/Gbnflex.h: (New file). * pge-boot/Gcbuiltin.c: (New file). * pge-boot/Gdtoa.c: (New file). * pge-boot/Gdtoa.h: (New file). * pge-boot/Gerrno.c: (New file). * pge-boot/Gerrno.h: (New file). * pge-boot/Gldtoa.c: (New file). * pge-boot/Gldtoa.h: (New file). * pge-boot/Glibc.c: (New file). * pge-boot/Glibc.h: (New file). * pge-boot/Glibm.c: (New file). * pge-boot/Glibm.h: (New file). * pge-boot/Gmcrts.c: (New file). * pge-boot/Gmcrts.h: (New file). * pge-boot/Gnetwork.h: (New file). * pge-boot/Gpge.c: (New file). * pge-boot/Gtermios.cc: (New file). * pge-boot/Gtermios.h: (New file). * pge-boot/Gwrapc.c: (New file). * pge-boot/Gwrapc.h: (New file). * pge-boot/README: (New file). * pge-boot/m2rts.h: (New file). * pge-boot/main.c: (New file). * pge-boot/network.c: (New file). * plugin/README: (New file). * plugin/m2rte.cc: (New file). * tools-src/README: (New file). * tools-src/boilerplate.py: (New file). * tools-src/buildpg: (New file). * tools-src/calcpath: (New file). * tools-src/def2doc.py: (New file). * tools-src/makeSystem: (New file). * tools-src/mklink.c: (New file). * tools-src/tidydates.py: (New file). * images/LICENSE.IMG: (New file). * images/gnupng: (New file). * images/gnu.eps: (New file). * version.c: (New file). * configure: (Rebuilt). gcc/testsuite/ChangeLog: * lib/gm2-dg.exp: (New file). * lib/gm2.exp: (New file). * lib/gm2-simple.exp: (New file). * lib/gm2-torture.exp: (New file). * gm2/calling-c/datatypes/unbounded/run/pass/c.c: (New file). * gm2/calling-c/datatypes/unbounded/run/pass/c.def: (New file). * gm2/calling-c/datatypes/unbounded/run/pass/calling-c-datatypes-unbounded-run-pass.exp: (New file). * gm2/calling-c/datatypes/unbounded/run/pass/m.mod: (New file). * gm2/case/pass/case-pass.exp: (New file). * gm2/case/pass/testcase1.mod: (New file). * gm2/case/pass/testcase2.mod: (New file). * gm2/case/pass/testcase3.mod: (New file). * gm2/case/pass/testcase4.mod: (New file). * gm2/complex/fail/var1.mod: (New file). * gm2/complex/pass/arith.mod: (New file). * gm2/complex/pass/arith2.mod: (New file). * gm2/complex/pass/arith3.mod: (New file). * gm2/complex/pass/arith4.mod: (New file). * gm2/complex/pass/arith5.mod: (New file). * gm2/complex/pass/arith6.mod: (New file). * gm2/complex/pass/complex-pass.exp: (New file). * gm2/complex/pass/consts.mod: (New file). * gm2/complex/pass/consts2.mod: (New file). * gm2/complex/pass/consts3.mod: (New file). * gm2/complex/pass/tinycabs.mod: (New file). * gm2/complex/pass/var1.mod: (New file). * gm2/complex/pass/var2.mod: (New file). * gm2/complex/pass/var3.mod: (New file). * gm2/complex/pass/var4.mod: (New file). * gm2/complex/pass/var5.mod: (New file). * gm2/complex/pass/var6.mod: (New file). * gm2/complex/pass/var7.mod: (New file). * gm2/complex/pass/var8.mod: (New file). * gm2/complex/run/pass/arith3.mod: (New file). * gm2/complex/run/pass/arith4.mod: (New file). * gm2/complex/run/pass/arith5.mod: (New file). * gm2/complex/run/pass/arith6.mod: (New file). * gm2/complex/run/pass/arith7.mod: (New file). * gm2/complex/run/pass/arith8.mod: (New file). * gm2/complex/run/pass/complex-run-pass.exp: (New file). * gm2/coroutines/pim/run/pass/coroutines-pim-run-pass.exp: (New file). * gm2/coroutines/pim/run/pass/testiotransfer.mod: (New file). * gm2/coroutines/pim/run/pass/testtransfer.mod: (New file). * gm2/cpp/fail/another.h: (New file). * gm2/cpp/fail/fail1.mod: (New file). * gm2/cpp/longcard2.mod: (New file). * gm2/cpp/longstrimp.mod: (New file). * gm2/cpp/pass/arrayhuge.mod: (New file). * gm2/cpp/pass/arrayhuge2.mod: (New file). * gm2/cpp/pass/cpp-pass.exp: (New file). * gm2/cpp/pass/cpp.mod: (New file). * gm2/cpp/pass/cpph.mod: (New file). * gm2/cpp/pass/subaddr.mod: (New file). * gm2/cpp/pass/testcpp.mod: (New file). * gm2/cpp/pass/testcpp2.mod: (New file). * gm2/cpp/setchar2.mod: (New file). * gm2/cpp/setchar6.mod: (New file). * gm2/cse/fail/cse-fail.exp: (New file). * gm2/cse/fail/testcse38.mod: (New file). * gm2/cse/pass/cse-pass.exp: (New file). * gm2/cse/pass/m2t.c: (New file). * gm2/cse/pass/testb.mod: (New file). * gm2/cse/pass/testbuiltin.def: (New file). * gm2/cse/pass/testbuiltin.mod: (New file). * gm2/cse/pass/testcse.def: (New file). * gm2/cse/pass/testcse.mod: (New file). * gm2/cse/pass/testcse10.mod: (New file). * gm2/cse/pass/testcse11.mod: (New file). * gm2/cse/pass/testcse12.mod: (New file). * gm2/cse/pass/testcse13.mod: (New file). * gm2/cse/pass/testcse14.mod: (New file). * gm2/cse/pass/testcse15.mod: (New file). * gm2/cse/pass/testcse16.mod: (New file). * gm2/cse/pass/testcse17.mod: (New file). * gm2/cse/pass/testcse18.mod: (New file). * gm2/cse/pass/testcse19.mod: (New file). * gm2/cse/pass/testcse2.mod: (New file). * gm2/cse/pass/testcse20.mod: (New file). * gm2/cse/pass/testcse21.mod: (New file). * gm2/cse/pass/testcse22.mod: (New file). * gm2/cse/pass/testcse23.mod: (New file). * gm2/cse/pass/testcse24.mod: (New file). * gm2/cse/pass/testcse25.mod: (New file). * gm2/cse/pass/testcse26.mod: (New file). * gm2/cse/pass/testcse27.mod: (New file). * gm2/cse/pass/testcse28.mod: (New file). * gm2/cse/pass/testcse29.mod: (New file). * gm2/cse/pass/testcse3.mod: (New file). * gm2/cse/pass/testcse31.mod: (New file). * gm2/cse/pass/testcse32.mod: (New file). * gm2/cse/pass/testcse33.mod: (New file). * gm2/cse/pass/testcse34.mod: (New file). * gm2/cse/pass/testcse35.mod: (New file). * gm2/cse/pass/testcse36.mod: (New file). * gm2/cse/pass/testcse37.mod: (New file). * gm2/cse/pass/testcse39.mod: (New file). * gm2/cse/pass/testcse4.c: (New file). * gm2/cse/pass/testcse4.mod: (New file). * gm2/cse/pass/testcse40.mod: (New file). * gm2/cse/pass/testcse41.mod: (New file). * gm2/cse/pass/testcse42.mod: (New file). * gm2/cse/pass/testcse43.mod: (New file). * gm2/cse/pass/testcse44.mod: (New file). * gm2/cse/pass/testcse45.mod: (New file). * gm2/cse/pass/testcse46.mod: (New file). * gm2/cse/pass/testcse47.mod: (New file). * gm2/cse/pass/testcse48.mod: (New file). * gm2/cse/pass/testcse49.mod: (New file). * gm2/cse/pass/testcse5.c: (New file). * gm2/cse/pass/testcse5.mod: (New file). * gm2/cse/pass/testcse50.def: (New file). * gm2/cse/pass/testcse50.mod: (New file). * gm2/cse/pass/testcse51.mod: (New file). * gm2/cse/pass/testcse52.def: (New file). * gm2/cse/pass/testcse52.mod: (New file). * gm2/cse/pass/testcse53.def: (New file). * gm2/cse/pass/testcse53.mod: (New file). * gm2/cse/pass/testcse6.c: (New file). * gm2/cse/pass/testcse6.mod: (New file). * gm2/cse/pass/testcse7.c: (New file). * gm2/cse/pass/testcse7.mod: (New file). * gm2/cse/pass/testcse8.c: (New file). * gm2/cse/pass/testcse8.mod: (New file). * gm2/cse/pass/testcse9.c: (New file). * gm2/cse/pass/testsize.mod: (New file). * gm2/dynamic/pass/add.mod: (New file). * gm2/dynamic/pass/dynamic-pass.exp: (New file). * gm2/dynamic/pass/prog21.mod: (New file). * gm2/dynamic/pass/testarray.mod: (New file). * gm2/dynamic/pass/testarray2.mod: (New file). * gm2/dynamic/pass/testarray3.mod: (New file). * gm2/dynamic/pass/testarray4.mod: (New file). * gm2/dynamic/pass/testarray6.mod: (New file). * gm2/dynamic/pass/testbec.mod: (New file). * gm2/dynamic/pass/testbec10.mod: (New file). * gm2/dynamic/pass/testbec11.mod: (New file). * gm2/dynamic/pass/testbec12.mod: (New file). * gm2/dynamic/pass/testbec13.mod: (New file). * gm2/dynamic/pass/testbec14.mod: (New file). * gm2/dynamic/pass/testbec15.mod: (New file). * gm2/dynamic/pass/testbec16.mod: (New file). * gm2/dynamic/pass/testbec17.mod: (New file). * gm2/dynamic/pass/testbec18.mod: (New file). * gm2/dynamic/pass/testbec19.mod: (New file). * gm2/dynamic/pass/testbec2.mod: (New file). * gm2/dynamic/pass/testbec20.mod: (New file). * gm2/dynamic/pass/testbec21.mod: (New file). * gm2/dynamic/pass/testbec22.mod: (New file). * gm2/dynamic/pass/testbec23.mod: (New file). * gm2/dynamic/pass/testbec24.mod: (New file). * gm2/dynamic/pass/testbec25.mod: (New file). * gm2/dynamic/pass/testbec26.mod: (New file). * gm2/dynamic/pass/testbec27.mod: (New file). * gm2/dynamic/pass/testbec28.mod: (New file). * gm2/dynamic/pass/testbec29.mod: (New file). * gm2/dynamic/pass/testbec3.mod: (New file). * gm2/dynamic/pass/testbec30.mod: (New file). * gm2/dynamic/pass/testbec31.mod: (New file). * gm2/dynamic/pass/testbec32.mod: (New file). * gm2/dynamic/pass/testbec33.mod: (New file). * gm2/dynamic/pass/testbec34.mod: (New file). * gm2/dynamic/pass/testbec35.mod: (New file). * gm2/dynamic/pass/testbec36.mod: (New file). * gm2/dynamic/pass/testbec37.mod: (New file). * gm2/dynamic/pass/testbec38.mod: (New file). * gm2/dynamic/pass/testbec39.mod: (New file). * gm2/dynamic/pass/testbec4.mod: (New file). * gm2/dynamic/pass/testbec40.mod: (New file). * gm2/dynamic/pass/testbec41.mod: (New file). * gm2/dynamic/pass/testbec42.mod: (New file). * gm2/dynamic/pass/testbec43.mod: (New file). * gm2/dynamic/pass/testbec44.mod: (New file). * gm2/dynamic/pass/testbec45.mod: (New file). * gm2/dynamic/pass/testbec5.mod: (New file). * gm2/dynamic/pass/testbec6.mod: (New file). * gm2/dynamic/pass/testbec7.mod: (New file). * gm2/dynamic/pass/testbec8.mod: (New file). * gm2/dynamic/pass/testbec9.mod: (New file). * gm2/dynamic/pass/testdavid.mod: (New file). * gm2/dynamic/pass/testdiv.mod: (New file). * gm2/dynamic/pass/testexp.mod: (New file). * gm2/dynamic/pass/testfor.mod: (New file). * gm2/dynamic/pass/testfor2.mod: (New file). * gm2/dynamic/pass/testfunc.mod: (New file). * gm2/dynamic/pass/testfunc2.mod: (New file). * gm2/dynamic/pass/testfunc3.mod: (New file). * gm2/dynamic/pass/testfunc4.mod: (New file). * gm2/dynamic/pass/testfunc5.mod: (New file). * gm2/dynamic/pass/testfunc6.mod: (New file). * gm2/dynamic/pass/testif.mod: (New file). * gm2/dynamic/pass/testit.mod: (New file). * gm2/dynamic/pass/testloop.mod: (New file). * gm2/dynamic/pass/testloop2.mod: (New file). * gm2/dynamic/pass/testloop3.mod: (New file). * gm2/dynamic/pass/testloop4.mod: (New file). * gm2/dynamic/pass/testloop5.mod: (New file). * gm2/dynamic/pass/testmin.mod: (New file). * gm2/dynamic/pass/testnum4.mod: (New file). * gm2/dynamic/pass/testord.mod: (New file). * gm2/dynamic/pass/testparam.mod: (New file). * gm2/dynamic/pass/testparam2.mod: (New file). * gm2/dynamic/pass/testproc.mod: (New file). * gm2/dynamic/pass/testproc2.c: (New file). * gm2/dynamic/pass/testproc2.def: (New file). * gm2/dynamic/pass/testproc2.mod: (New file). * gm2/dynamic/pass/testscn.mod: (New file). * gm2/dynamic/pass/testset.mod: (New file). * gm2/dynamic/pass/testset2.mod: (New file). * gm2/dynamic/pass/testset3.mod: (New file). * gm2/dynamic/pass/teststr.c: (New file). * gm2/dynamic/pass/teststr.mod: (New file). * gm2/dynamic/pass/teststr2.mod: (New file). * gm2/dynamic/pass/teststring.mod: (New file). * gm2/dynamic/pass/testunbounded.mod: (New file). * gm2/dynamic/pass/testwith.mod: (New file). * gm2/dynamic/pass/testzero.mod: (New file). * gm2/dynamic/pass/wc.mod: (New file). * gm2/embedded/pass/embedded-pass.exp: (New file). * gm2/embedded/pass/varataddress.mod: (New file). * gm2/embedded/pass/varataddress1.mod: (New file). * gm2/embedded/pass/varataddress2.mod: (New file). * gm2/embedded/pass/varataddress3.mod: (New file). * gm2/errors/fail/array1.mod: (New file). * gm2/errors/fail/badexpr.mod: (New file). * gm2/errors/fail/badfor.mod: (New file). * gm2/errors/fail/badhigh.mod: (New file). * gm2/errors/fail/badshift.mod: (New file). * gm2/errors/fail/badsubexpradr.mod: (New file). * gm2/errors/fail/binaryconst.mod: (New file). * gm2/errors/fail/binarygeneric.mod: (New file). * gm2/errors/fail/binarygenericconst.mod: (New file). * gm2/errors/fail/end.mod: (New file). * gm2/errors/fail/errors-fail.exp: (New file). * gm2/errors/fail/mismatched.mod: (New file). * gm2/errors/fail/mismatchedproc.mod: (New file). * gm2/errors/fail/nestedproc4.mod: (New file). * gm2/errors/fail/nomodule.mod: (New file). * gm2/errors/fail/proctype.mod: (New file). * gm2/errors/fail/prog110.mod: (New file). * gm2/errors/fail/prog111.mod: (New file). * gm2/errors/fail/prog113.mod: (New file). * gm2/errors/fail/prog114.mod: (New file). * gm2/errors/fail/testaddress.mod: (New file). * gm2/errors/fail/testarray.mod: (New file). * gm2/errors/fail/testbit.mod: (New file). * gm2/errors/fail/testbit2.mod: (New file). * gm2/errors/fail/testcase.mod: (New file). * gm2/errors/fail/testcomment.mod: (New file). * gm2/errors/fail/testcomment2.mod: (New file). * gm2/errors/fail/testcomment3.mod: (New file). * gm2/errors/fail/testconst.mod: (New file). * gm2/errors/fail/testdyn.mod: (New file). * gm2/errors/fail/testdyn2.mod: (New file). * gm2/errors/fail/testdyn3.mod: (New file). * gm2/errors/fail/testexp.mod: (New file). * gm2/errors/fail/testfio.mod: (New file). * gm2/errors/fail/testimport.mod: (New file). * gm2/errors/fail/testimport2.def: (New file). * gm2/errors/fail/testimport2.mod: (New file). * gm2/errors/fail/testinit.mod: (New file). * gm2/errors/fail/testmodule.mod: (New file). * gm2/errors/fail/testnil.mod: (New file). * gm2/errors/fail/testnil2.mod: (New file). * gm2/errors/fail/testparam.mod: (New file). * gm2/errors/fail/testproc.mod: (New file). * gm2/errors/fail/testproc2.mod: (New file). * gm2/errors/fail/testsize.mod: (New file). * gm2/errors/fail/teststring.mod: (New file). * gm2/errors/fail/testsub3.mod: (New file). * gm2/errors/fail/testsub4.mod: (New file). * gm2/errors/fail/testtype.mod: (New file). * gm2/errors/fail/testvar.mod: (New file). * gm2/errors/fail/testwith.mod: (New file). * gm2/errors/fail/testwrite.mod: (New file). * gm2/errors/fail/type.mod: (New file). * gm2/errors/fail/unarygeneric.mod: (New file). * gm2/errors/mustfail: (New file). * gm2/errors/options: (New file). * gm2/errors/testchar.mod: (New file). * gm2/errors/testsub2.mod: (New file). * gm2/examples/callingC/pass/examples-callingC-pass.exp: (New file). * gm2/examples/callingC/pass/hello.mod: (New file). * gm2/examples/callingC/pass/libprintf.def: (New file). * gm2/examples/callingC/run/pass/c.c: (New file). * gm2/examples/callingC/run/pass/c.def: (New file). * gm2/examples/callingC/run/pass/examples-callingC-run-pass.exp: (New file). * gm2/examples/callingC/run/pass/hello.mod: (New file). * gm2/examples/callingC/run/pass/libprintf.def: (New file). * gm2/examples/callingC/run/pass/m.mod: (New file). * gm2/examples/cpp/pass/examples-cpp-pass.exp: (New file). * gm2/examples/cpp/pass/hello.mod: (New file). * gm2/examples/cppDef/pass/a.def: (New file). * gm2/examples/cppDef/pass/a.mod: (New file). * gm2/examples/cppDef/pass/b.mod: (New file). * gm2/examples/cppDef/pass/examples-cppDef-pass.exp: (New file). * gm2/examples/cppDef/pass/libprintf.def: (New file). * gm2/examples/hello/pass/examples-hello-pass.exp: (New file). * gm2/examples/hello/pass/hello.mod: (New file). * gm2/examples/map/pass/AdvMap.def: (New file). * gm2/examples/map/pass/AdvMap.mod: (New file). * gm2/examples/map/pass/BoxMap.def: (New file). * gm2/examples/map/pass/BoxMap.mod: (New file). * gm2/examples/map/pass/Chance.def: (New file). * gm2/examples/map/pass/Chance.mod: (New file). * gm2/examples/map/pass/Find.def: (New file). * gm2/examples/map/pass/Find.mod: (New file). * gm2/examples/map/pass/Geometry.def: (New file). * gm2/examples/map/pass/Geometry.mod: (New file). * gm2/examples/map/pass/MakeBoxes.def: (New file). * gm2/examples/map/pass/MakeBoxes.mod: (New file). * gm2/examples/map/pass/Map.mod: (New file). * gm2/examples/map/pass/RoomMap.def: (New file). * gm2/examples/map/pass/RoomMap.mod: (New file). * gm2/examples/map/pass/Semantic.mod: (New file). * gm2/examples/map/pass/StoreCoord.def: (New file). * gm2/examples/map/pass/StoreCoord.mod: (New file). * gm2/examples/map/pass/StoreCoords.def: (New file). * gm2/examples/map/pass/StoreCoords.mod: (New file). * gm2/examples/map/pass/WriteMap.def: (New file). * gm2/examples/map/pass/WriteMap.mod: (New file). * gm2/examples/map/pass/examples-map-pass.exp: (New file). * gm2/examples/map/pass/makemaps: (New file). * gm2/examples/map/pass/testch2.mod: (New file). * gm2/examples/map/pass/testchan.mod: (New file). * gm2/examples/map/pass/testcoor.mod: (New file). * gm2/examples/map/pass/testmaps: (New file). * gm2/exceptions/run/pass/cpp.cpp: (New file). * gm2/exceptions/run/pass/cpp.def: (New file). * gm2/exceptions/run/pass/exceptions-run-pass.exp: (New file). * gm2/exceptions/run/pass/libexcept.mod: (New file). * gm2/exceptions/run/pass/m2test.def: (New file). * gm2/exceptions/run/pass/m2test.mod: (New file). * gm2/exceptions/run/pass/mycpp.cpp: (New file). * gm2/exceptions/run/pass/mycpp.def: (New file). * gm2/exceptions/run/pass/mym2.mod: (New file). * gm2/exceptions/run/pass/mym2a.mod: (New file). * gm2/extensions/pass/align.mod: (New file). * gm2/extensions/pass/align2.mod: (New file). * gm2/extensions/pass/card16p.mod: (New file). * gm2/extensions/pass/card32p.mod: (New file). * gm2/extensions/pass/card64p.mod: (New file). * gm2/extensions/pass/card8p.mod: (New file). * gm2/extensions/pass/co.def: (New file). * gm2/extensions/pass/co.mod: (New file). * gm2/extensions/pass/extensions-pass.exp: (New file). * gm2/extensions/pass/frame.mod: (New file). * gm2/extensions/pass/hello.mod: (New file). * gm2/extensions/pass/int16p.mod: (New file). * gm2/extensions/pass/int32p.mod: (New file). * gm2/extensions/pass/int64p.mod: (New file). * gm2/extensions/pass/int8p.mod: (New file). * gm2/extensions/pass/intsize8.mod: (New file). * gm2/extensions/pass/jmp.mod: (New file). * gm2/extensions/pass/libc.def: (New file). * gm2/extensions/pass/optparam.mod: (New file). * gm2/extensions/pass/optparam2.mod: (New file). * gm2/extensions/pass/return.mod: (New file). * gm2/extensions/pass/set8.mod: (New file). * gm2/extensions/pass/set8a.mod: (New file). * gm2/extensions/pass/set8b.mod: (New file). * gm2/extensions/pass/testco.mod: (New file). * gm2/extensions/run/fail/extensions-run-fail.exp: (New file). * gm2/extensions/run/fail/intsize8.mod: (New file). * gm2/extensions/run/pass/align3.mod: (New file). * gm2/extensions/run/pass/align4.mod: (New file). * gm2/extensions/run/pass/align5.mod: (New file). * gm2/extensions/run/pass/align6.mod: (New file). * gm2/extensions/run/pass/align7.mod: (New file). * gm2/extensions/run/pass/callingc.mod: (New file). * gm2/extensions/run/pass/card16p.mod: (New file). * gm2/extensions/run/pass/card32p.mod: (New file). * gm2/extensions/run/pass/card64p.mod: (New file). * gm2/extensions/run/pass/card8p.mod: (New file). * gm2/extensions/run/pass/column.mod: (New file). * gm2/extensions/run/pass/cvararg.c: (New file). * gm2/extensions/run/pass/cvararg.def: (New file). * gm2/extensions/run/pass/extensions-run-pass.exp: (New file). * gm2/extensions/run/pass/int16p.mod: (New file). * gm2/extensions/run/pass/int32p.mod: (New file). * gm2/extensions/run/pass/int64p.mod: (New file). * gm2/extensions/run/pass/int8field.mod: (New file). * gm2/extensions/run/pass/int8p.mod: (New file). * gm2/extensions/run/pass/packedrecord.mod: (New file). * gm2/extensions/run/pass/packedrecord2.mod: (New file). * gm2/extensions/run/pass/real32.mod: (New file). * gm2/extensions/run/pass/real32a.mod: (New file). * gm2/extensions/run/pass/record.mod: (New file). * gm2/extensions/run/pass/testopen.mod: (New file). * gm2/extensions/run/pass/vararg.mod: (New file). * gm2/extensions/run/pass/vararg2.mod: (New file). * gm2/extensions/run/pass/vararg3.mod: (New file). * gm2/fpu/pass/five.mod: (New file). * gm2/fpu/pass/fp.def: (New file). * gm2/fpu/pass/fp.mod: (New file). * gm2/fpu/pass/fpu-pass.exp: (New file). * gm2/fpu/pass/one.mod: (New file). * gm2/fpu/pass/r1.mod: (New file). * gm2/fpu/pass/realconst.mod: (New file). * gm2/fpu/pass/testfp.mod: (New file). * gm2/fpu/pass/testfp2.mod: (New file). * gm2/fpu/pass/testfpu1.mod: (New file). * gm2/fpu/pass/testfpu2.mod: (New file). * gm2/fpu/pass/testfpu3.mod: (New file). * gm2/fpu/pass/testsin.mod: (New file). * gm2/imports/run/pass/c.def: (New file). * gm2/imports/run/pass/c.mod: (New file). * gm2/imports/run/pass/imports-run-pass.exp: (New file). * gm2/imports/run/pass/innermods.mod: (New file). * gm2/imports/run/pass/innermods2.mod: (New file). * gm2/imports/run/pass/innermods3.mod: (New file). * gm2/imports/run/pass/innermods4.mod: (New file). * gm2/imports/run/pass/innermods5.def: (New file). * gm2/imports/run/pass/innermods5.mod: (New file). * gm2/imports/run/pass/innermods6.mod: (New file). * gm2/integer/div.mod: (New file). * gm2/integer/expr.mod: (New file). * gm2/integer/mod.mod: (New file). * gm2/integer/mod2.mod: (New file). * gm2/integer/one.mod: (New file). * gm2/integer/options: (New file). * gm2/integer/zero.mod: (New file). * gm2/iso/analysis/fail/Makefile: (New file). * gm2/iso/analysis/fail/arithoverflow.mod: (New file). * gm2/iso/analysis/fail/arithoverflow2.mod: (New file). * gm2/iso/analysis/fail/arithsubcard.mod: (New file). * gm2/iso/analysis/fail/arrayrange.mod: (New file). * gm2/iso/analysis/fail/assignvalue.mod: (New file). * gm2/iso/analysis/fail/callassignment.mod: (New file). * gm2/iso/analysis/fail/callassignment2.mod: (New file). * gm2/iso/analysis/fail/callassignment3.mod: (New file). * gm2/iso/analysis/fail/callassignment4.mod: (New file). * gm2/iso/analysis/fail/caserange.mod: (New file). * gm2/iso/analysis/fail/decvalue.mod: (New file). * gm2/iso/analysis/fail/forloop.mod: (New file). * gm2/iso/analysis/fail/incvalue.mod: (New file). * gm2/iso/analysis/fail/iso-analysis-fail.exp: (New file). * gm2/iso/analysis/fail/noreturn.mod: (New file). * gm2/iso/analysis/fail/returnvalue.mod: (New file). * gm2/iso/analysis/fail/staticarray.mod: (New file). * gm2/iso/check/fail/iso-check-fail.exp: (New file). * gm2/iso/check/fail/modulusoverflow.mod: (New file). * gm2/iso/fail/badarray.mod: (New file). * gm2/iso/fail/badarray2.mod: (New file). * gm2/iso/fail/badipv4.mod: (New file). * gm2/iso/fail/bug10.mod: (New file). * gm2/iso/fail/bug8.mod: (New file). * gm2/iso/fail/bug9.mod: (New file). * gm2/iso/fail/case.mod: (New file). * gm2/iso/fail/case2.mod: (New file). * gm2/iso/fail/case3.mod: (New file). * gm2/iso/fail/const1.mod: (New file). * gm2/iso/fail/constarray.mod: (New file). * gm2/iso/fail/constarray2.mod: (New file). * gm2/iso/fail/constprocedure.mod: (New file). * gm2/iso/fail/constrecord.mod: (New file). * gm2/iso/fail/constrecord2.mod: (New file). * gm2/iso/fail/constrecord3.mod: (New file). * gm2/iso/fail/constsubrange.mod: (New file). * gm2/iso/fail/constsubrange2.mod: (New file). * gm2/iso/fail/constsubrange3.mod: (New file). * gm2/iso/fail/defa.def: (New file). * gm2/iso/fail/defa.mod: (New file). * gm2/iso/fail/defb.def: (New file). * gm2/iso/fail/defb.mod: (New file). * gm2/iso/fail/defc.def: (New file). * gm2/iso/fail/defc.mod: (New file). * gm2/iso/fail/except.mod: (New file). * gm2/iso/fail/except2.mod: (New file). * gm2/iso/fail/iso-fail.exp: (New file). * gm2/iso/fail/isoa.def: (New file). * gm2/iso/fail/isoa.mod: (New file). * gm2/iso/fail/lengthsubexpr.mod: (New file). * gm2/iso/fail/proc.mod: (New file). * gm2/iso/fail/realbitscast.mod: (New file). * gm2/iso/fail/varient.mod: (New file). * gm2/iso/fail/varient2.mod: (New file). * gm2/iso/future/builtinlj.mod: (New file). * gm2/iso/pass/ChanConsts.def: (New file). * gm2/iso/pass/ChanConsts.mod: (New file). * gm2/iso/pass/ConvTypes.def: (New file). * gm2/iso/pass/ConvTypes.mod: (New file). * gm2/iso/pass/addadr1.mod: (New file). * gm2/iso/pass/bits32c.mod: (New file). * gm2/iso/pass/callwraptime.mod: (New file). * gm2/iso/pass/caseiso.mod: (New file). * gm2/iso/pass/caseiso2.mod: (New file). * gm2/iso/pass/cast.mod: (New file). * gm2/iso/pass/cast3.mod: (New file). * gm2/iso/pass/castiso.mod: (New file). * gm2/iso/pass/const1.mod: (New file). * gm2/iso/pass/constreal.mod: (New file). * gm2/iso/pass/constructor1.mod: (New file). * gm2/iso/pass/constructor2.mod: (New file). * gm2/iso/pass/constructor3.mod: (New file). * gm2/iso/pass/constructor4.mod: (New file). * gm2/iso/pass/constructor5.mod: (New file). * gm2/iso/pass/constructor6.mod: (New file). * gm2/iso/pass/constsize4.mod: (New file). * gm2/iso/pass/delim.mod: (New file). * gm2/iso/pass/delim2.mod: (New file). * gm2/iso/pass/enummodule.mod: (New file). * gm2/iso/pass/except1.mod: (New file). * gm2/iso/pass/expproc.mod: (New file). * gm2/iso/pass/expproc2.mod: (New file). * gm2/iso/pass/iso-pass.exp: (New file). * gm2/iso/pass/isob.def: (New file). * gm2/iso/pass/isob.mod: (New file). * gm2/iso/pass/isobitset.mod: (New file). * gm2/iso/pass/isobitset2.mod: (New file). * gm2/iso/pass/longm.mod: (New file). * gm2/iso/pass/m.mod: (New file). * gm2/iso/pass/proccast.mod: (New file). * gm2/iso/pass/realbitscast.mod: (New file). * gm2/iso/pass/set12.mod: (New file). * gm2/iso/pass/stringchar.mod: (New file). * gm2/iso/pass/subassign.mod: (New file). * gm2/iso/pass/testaddindr.mod: (New file). * gm2/iso/pass/testconv.def: (New file). * gm2/iso/pass/testconv.mod: (New file). * gm2/iso/pass/testconv2.def: (New file). * gm2/iso/pass/testconv2.mod: (New file). * gm2/iso/pass/testconv3.mod: (New file). * gm2/iso/pass/testconv4.mod: (New file). * gm2/iso/pass/testconv5.mod: (New file). * gm2/iso/pass/testconv6.mod: (New file). * gm2/iso/pass/testconv7.mod: (New file). * gm2/iso/pass/testconv8.mod: (New file). * gm2/iso/pass/testconv9.mod: (New file). * gm2/iso/pass/testiso.mod: (New file). * gm2/iso/pass/testiso2.mod: (New file). * gm2/iso/pass/testisosize.mod: (New file). * gm2/iso/pass/testlength.mod: (New file). * gm2/iso/pass/testlength2.mod: (New file). * gm2/iso/pass/testlength3.mod: (New file). * gm2/iso/pass/testlength4.mod: (New file). * gm2/iso/pass/testlength5.mod: (New file). * gm2/iso/pass/unbounded.mod: (New file). * gm2/iso/pass/unbounded2.mod: (New file). * gm2/iso/run/pass/adraddress.mod: (New file). * gm2/iso/run/pass/adrunbounded3.mod: (New file). * gm2/iso/run/pass/baseimport.mod: (New file). * gm2/iso/run/pass/compsize.mod: (New file). * gm2/iso/run/pass/concurrentstore.mod: (New file). * gm2/iso/run/pass/constprocedure.mod: (New file). * gm2/iso/run/pass/constructor1.mod: (New file). * gm2/iso/run/pass/constructor2.mod: (New file). * gm2/iso/run/pass/conststrarray.mod: (New file). * gm2/iso/run/pass/contimer.mod: (New file). * gm2/iso/run/pass/except.c: (New file). * gm2/iso/run/pass/except2.mod: (New file). * gm2/iso/run/pass/except3.cpp: (New file). * gm2/iso/run/pass/except4.mod: (New file). * gm2/iso/run/pass/except5.cpp: (New file). * gm2/iso/run/pass/except5.mod: (New file). * gm2/iso/run/pass/except6.cpp: (New file). * gm2/iso/run/pass/except7.mod: (New file). * gm2/iso/run/pass/except8.mod: (New file). * gm2/iso/run/pass/fileio.def: (New file). * gm2/iso/run/pass/fileio.mod: (New file). * gm2/iso/run/pass/hello.mod: (New file). * gm2/iso/run/pass/int8field.mod: (New file). * gm2/iso/run/pass/iso-run-pass.exp: (New file). * gm2/iso/run/pass/long.mod: (New file). * gm2/iso/run/pass/long2.mod: (New file). * gm2/iso/run/pass/long3.mod: (New file). * gm2/iso/run/pass/long4.c: (New file). * gm2/iso/run/pass/long4.mod: (New file). * gm2/iso/run/pass/minmax.mod: (New file). * gm2/iso/run/pass/modulus.mod: (New file). * gm2/iso/run/pass/nestediso.mod: (New file). * gm2/iso/run/pass/nestedrecord.mod: (New file). * gm2/iso/run/pass/onebyte.mod: (New file). * gm2/iso/run/pass/onebyte2.mod: (New file). * gm2/iso/run/pass/onebyte3.mod: (New file). * gm2/iso/run/pass/packed.mod: (New file). * gm2/iso/run/pass/proc.c: (New file). * gm2/iso/run/pass/proc.mod: (New file). * gm2/iso/run/pass/proc2.mod: (New file). * gm2/iso/run/pass/returnrecord.mod: (New file). * gm2/iso/run/pass/shift.mod: (New file). * gm2/iso/run/pass/shift2.mod: (New file). * gm2/iso/run/pass/shift3.mod: (New file). * gm2/iso/run/pass/shift4.mod: (New file). * gm2/iso/run/pass/simple: (New file). * gm2/iso/run/pass/simplelarge.mod: (New file). * gm2/iso/run/pass/strcons.mod: (New file). * gm2/iso/run/pass/strcons2.mod: (New file). * gm2/iso/run/pass/t.cpp: (New file). * gm2/iso/run/pass/t1.cpp: (New file). * gm2/iso/run/pass/testLength.mod: (New file). * gm2/iso/run/pass/testarray.mod: (New file). * gm2/iso/run/pass/testgeneric.mod: (New file). * gm2/iso/run/pass/testlarge.mod: (New file). * gm2/iso/run/pass/testsystem.mod: (New file). * gm2/iso/run/pass/tinyconst.mod: (New file). * gm2/iso/run/pass/tinyconst2.mod: (New file). * gm2/iso/run/pass/tinyconst3.mod: (New file). * gm2/iso/run/pass/tinyconst4.mod: (New file). * gm2/iso/run/pass/tinyconst5.mod: (New file). * gm2/iso/run/pass/tinytimer.mod: (New file). * gm2/iso/run/pass/trivialmodulus.mod: (New file). * gm2/iso/run/pass/tsize.mod: (New file). * gm2/iso/run/pass/tsize2.mod: (New file). * gm2/iso/run/pass/tstLength.mod: (New file). * gm2/iso/run/pass/unbounded.mod: (New file). * gm2/iso/run/pass/unbounded2.mod: (New file). * gm2/iso/run/pass/unbounded3.mod: (New file). * gm2/iso/run/pass/unbounded4.mod: (New file). * gm2/iso/run/pass/unbounded5.mod: (New file). * gm2/iso/run/pass/unbounded6.mod: (New file). * gm2/iso/run/pass/unbounded7.mod: (New file). * gm2/iso/run/pass/unbounded8.mod: (New file). * gm2/isocoroutines/run/pass/coroutine.mod: (New file). * gm2/isocoroutines/run/pass/isocoroutines-run-pass.exp: (New file). * gm2/isolib/run/pass/arraycons.mod: (New file). * gm2/isolib/run/pass/arraycons2.mod: (New file). * gm2/isolib/run/pass/arraycons3.mod: (New file). * gm2/isolib/run/pass/arraycons5.mod: (New file). * gm2/isolib/run/pass/arraycons6.mod: (New file). * gm2/isolib/run/pass/arraycons7.mod: (New file). * gm2/isolib/run/pass/arrayconst8.mod: (New file). * gm2/isolib/run/pass/exceptiontest.mod: (New file). * gm2/isolib/run/pass/filepos.mod: (New file). * gm2/isolib/run/pass/hello.mod: (New file). * gm2/isolib/run/pass/insert.mod: (New file). * gm2/isolib/run/pass/intconv.mod: (New file). * gm2/isolib/run/pass/isolib-run-pass.exp: (New file). * gm2/isolib/run/pass/longstr.mod: (New file). * gm2/isolib/run/pass/openlibc.mod: (New file). * gm2/isolib/run/pass/raise.mod: (New file). * gm2/isolib/run/pass/raise2.mod: (New file). * gm2/isolib/run/pass/readreal.mod: (New file). * gm2/isolib/run/pass/real1.mod: (New file). * gm2/isolib/run/pass/real2.mod: (New file). * gm2/isolib/run/pass/real3.mod: (New file). * gm2/isolib/run/pass/realconv.mod: (New file). * gm2/isolib/run/pass/realconv2.mod: (New file). * gm2/isolib/run/pass/realstr.mod: (New file). * gm2/isolib/run/pass/sigfig.mod: (New file). * gm2/isolib/run/pass/stringreal2.mod: (New file). * gm2/isolib/run/pass/termfile.mod-disabled: (New file). * gm2/isolib/run/pass/testappend.mod: (New file). * gm2/isolib/run/pass/testinput: (New file). * gm2/isolib/run/pass/testio.mod: (New file). * gm2/isolib/run/pass/testio2.mod: (New file). * gm2/isolib/run/pass/testmem.mod: (New file). * gm2/isolib/run/pass/testmem2.mod: (New file). * gm2/isolib/run/pass/testnumber: (New file). * gm2/isolib/run/pass/tiny.mod: (New file). * gm2/isolib/run/pass/tiny2.mod: (New file). * gm2/isolib/run/pass/tiny3.mod: (New file). * gm2/isolib/run/pass/tiny4.mod: (New file). * gm2/isolib/run/pass/tiny5.mod: (New file). * gm2/libs/a.def: (New file). * gm2/libs/a.mod: (New file). * gm2/libs/b.def: (New file). * gm2/libs/b.mod: (New file). * gm2/libs/testraw.mod: (New file). * gm2/link/externalscaffold/pass/hello.mod: (New file). * gm2/link/externalscaffold/pass/link-externalscaffold-pass.exp: (New file). * gm2/link/externalscaffold/pass/scaffold.c: (New file). * gm2/link/pim/fail/import.mod: (New file). * gm2/link/pim/fail/link-pim-fail.exp: (New file). * gm2/link/pim/pass/link-pim-pass.exp: (New file). * gm2/link/pimc/pass/README: (New file). * gm2/link/pimc/pass/link-pimc-pass.exp: (New file). * gm2/link/pimc/pass/testdtoa.mod: (New file). * gm2/link/pimc/pass/testerrno.mod: (New file). * gm2/link/pimc/pass/testgetopt.mod: (New file). * gm2/link/pimc/pass/testldtoa.mod: (New file). * gm2/link/pimc/pass/testlibc.mod: (New file). * gm2/link/pimc/pass/testlibc2.mod: (New file). * gm2/link/pimc/pass/testsckt.mod: (New file). * gm2/link/pimc/pass/testselective.mod: (New file). * gm2/link/pimc/pass/testsysexceptions.mod: (New file). * gm2/link/pimc/pass/testtermios.mod: (New file). * gm2/link/pimc/pass/testunixargs.mod: (New file). * gm2/link/pimc/pass/testwrapc.mod: (New file). * gm2/linking/libarchive/pass/c.c: (New file). * gm2/linking/libarchive/pass/c.def: (New file). * gm2/linking/libarchive/pass/d.def: (New file). * gm2/linking/libarchive/pass/e.def: (New file). * gm2/linking/libarchive/pass/linking-libarchive-pass.exp: (New file). * gm2/linking/libarchive/pass/m.mod: (New file). * gm2/linking/verbose/pass/hello.mod: (New file). * gm2/linking/verbose/pass/linking-verbose-pass.exp: (New file). * gm2/pim/fail/TestLong3.mod: (New file). * gm2/pim/fail/TestLong6.mod: (New file). * gm2/pim/fail/a.def: (New file). * gm2/pim/fail/assignbounds.mod: (New file). * gm2/pim/fail/assignsubrange.mod: (New file). * gm2/pim/fail/assignsubrange2.mod: (New file). * gm2/pim/fail/b.def: (New file). * gm2/pim/fail/bad.def: (New file). * gm2/pim/fail/badconst.mod: (New file). * gm2/pim/fail/badfunc.mod: (New file). * gm2/pim/fail/badparam.mod: (New file). * gm2/pim/fail/badparam2.mod: (New file). * gm2/pim/fail/badtype.mod: (New file). * gm2/pim/fail/badtypes.mod: (New file). * gm2/pim/fail/bits.mod: (New file). * gm2/pim/fail/bits2.mod: (New file). * gm2/pim/fail/bits3.mod: (New file). * gm2/pim/fail/bits4.mod: (New file). * gm2/pim/fail/cardword.mod: (New file). * gm2/pim/fail/constbec.mod: (New file). * gm2/pim/fail/constsize3.mod: (New file). * gm2/pim/fail/constvar.mod: (New file). * gm2/pim/fail/convert5.mod: (New file). * gm2/pim/fail/dupconst.mod: (New file). * gm2/pim/fail/dupenum.mod: (New file). * gm2/pim/fail/dupfield.mod: (New file). * gm2/pim/fail/duptype.mod: (New file). * gm2/pim/fail/dupvar.mod: (New file). * gm2/pim/fail/expression.mod: (New file). * gm2/pim/fail/expression2.mod: (New file). * gm2/pim/fail/expression3.mod: (New file). * gm2/pim/fail/func.mod: (New file). * gm2/pim/fail/good.def: (New file). * gm2/pim/fail/good.mod: (New file). * gm2/pim/fail/import.mod: (New file). * gm2/pim/fail/inserttok.def: (New file). * gm2/pim/fail/inserttok.mod: (New file). * gm2/pim/fail/integer.mod: (New file). * gm2/pim/fail/keyword.mod: (New file). * gm2/pim/fail/longtypes2.mod: (New file). * gm2/pim/fail/longtypes3.mod: (New file). * gm2/pim/fail/multisetf.mod: (New file). * gm2/pim/fail/nested3.mod: (New file). * gm2/pim/fail/opaque.mod: (New file). * gm2/pim/fail/opaque2.mod: (New file). * gm2/pim/fail/opasfail.mod: (New file). * gm2/pim/fail/opcpfail.mod: (New file). * gm2/pim/fail/pim-fail.exp: (New file). * gm2/pim/fail/procmod.mod: (New file). * gm2/pim/fail/rotate.mod: (New file). * gm2/pim/fail/rotate2.mod: (New file). * gm2/pim/fail/setbec.mod: (New file). * gm2/pim/fail/setequiv.mod: (New file). * gm2/pim/fail/setsnulf.mod: (New file). * gm2/pim/fail/settype.mod: (New file). * gm2/pim/fail/shift.mod: (New file). * gm2/pim/fail/shift2.mod: (New file). * gm2/pim/fail/subrange7.mod: (New file). * gm2/pim/fail/unary.mod: (New file). * gm2/pim/fail/undeclared.mod: (New file). * gm2/pim/fail/val.mod: (New file). * gm2/pim/fail/val2.mod: (New file). * gm2/pim/fail/wordconst.mod: (New file). * gm2/pim/no-options/run/pass/integer.mod: (New file). * gm2/pim/no-options/run/pass/pim-no-options-run-pass.exp: (New file). * gm2/pim/options/bounds/fail/IdentifierBug.mod: (New file). * gm2/pim/options/bounds/fail/pim-options-bounds-fail.exp: (New file). * gm2/pim/options/optimize/run/pass/addition.def: (New file). * gm2/pim/options/optimize/run/pass/addition.mod: (New file). * gm2/pim/options/optimize/run/pass/concat.mod: (New file). * gm2/pim/options/optimize/run/pass/pim-options-optimize-run-pass.exp: (New file). * gm2/pim/options/optimize/run/pass/testadd.mod: (New file). * gm2/pim/pass/ABSBug.mod: (New file). * gm2/pim/pass/TestLong4.mod: (New file). * gm2/pim/pass/TestLong7.mod: (New file). * gm2/pim/pass/TestLong8.mod: (New file). * gm2/pim/pass/TestLong9.mod: (New file). * gm2/pim/pass/another.mod: (New file). * gm2/pim/pass/aochar.mod: (New file). * gm2/pim/pass/array.mod: (New file). * gm2/pim/pass/array2.mod: (New file). * gm2/pim/pass/array3.mod: (New file). * gm2/pim/pass/array4.mod: (New file). * gm2/pim/pass/array5.mod: (New file). * gm2/pim/pass/array6.mod: (New file). * gm2/pim/pass/arraybool.mod: (New file). * gm2/pim/pass/arraychar.mod: (New file). * gm2/pim/pass/arraychar2.mod: (New file). * gm2/pim/pass/arraychar3.mod: (New file). * gm2/pim/pass/arrayconst1.mod: (New file). * gm2/pim/pass/arrayconst2.mod: (New file). * gm2/pim/pass/arrayconst3.mod: (New file). * gm2/pim/pass/arraydecl.mod: (New file). * gm2/pim/pass/arraydim.mod: (New file). * gm2/pim/pass/arraydyn.mod: (New file). * gm2/pim/pass/arrayeqiv.mod: (New file). * gm2/pim/pass/arrayfio.mod: (New file). * gm2/pim/pass/arrayhuge.mod: (New file). * gm2/pim/pass/arrayhuge2.mod: (New file). * gm2/pim/pass/arrayindex.mod: (New file). * gm2/pim/pass/arrayindirect.mod: (New file). * gm2/pim/pass/arrayinproc.mod: (New file). * gm2/pim/pass/arrayint.mod: (New file). * gm2/pim/pass/arrayofbyte.mod: (New file). * gm2/pim/pass/arrayofcard.mod: (New file). * gm2/pim/pass/arrayptr.mod: (New file). * gm2/pim/pass/arrayptr2.mod: (New file). * gm2/pim/pass/arrayptr3.mod: (New file). * gm2/pim/pass/arrayptr4.mod: (New file). * gm2/pim/pass/arrayptr5.mod: (New file). * gm2/pim/pass/arrayptr6.mod: (New file). * gm2/pim/pass/arrayrecord.mod: (New file). * gm2/pim/pass/arraytiny.c: (New file). * gm2/pim/pass/arraytiny.mod: (New file). * gm2/pim/pass/arraytype.mod: (New file). * gm2/pim/pass/arraytype2.mod: (New file). * gm2/pim/pass/arraytype3.mod: (New file). * gm2/pim/pass/arraytype4.mod: (New file). * gm2/pim/pass/assignment.mod: (New file). * gm2/pim/pass/assignment2.mod: (New file). * gm2/pim/pass/assignment3.mod: (New file). * gm2/pim/pass/assignment4.mod: (New file). * gm2/pim/pass/badpointer.mod: (New file). * gm2/pim/pass/bits32.def: (New file). * gm2/pim/pass/bits32.mod: (New file). * gm2/pim/pass/bits32i.mod: (New file). * gm2/pim/pass/bitset.mod: (New file). * gm2/pim/pass/bitset2.mod: (New file). * gm2/pim/pass/bitset3.mod: (New file). * gm2/pim/pass/bitset4.mod: (New file). * gm2/pim/pass/bitset5.mod: (New file). * gm2/pim/pass/bitsetfunc.mod: (New file). * gm2/pim/pass/block.mod: (New file). * gm2/pim/pass/blockindirect.mod: (New file). * gm2/pim/pass/builtin.def: (New file). * gm2/pim/pass/builtin.mod: (New file). * gm2/pim/pass/builtin2.mod: (New file). * gm2/pim/pass/builtinconst.mod: (New file). * gm2/pim/pass/bytearray.mod: (New file). * gm2/pim/pass/card.mod: (New file). * gm2/pim/pass/card2.mod: (New file). * gm2/pim/pass/char.mod: (New file). * gm2/pim/pass/char2.mod: (New file). * gm2/pim/pass/charproc.mod: (New file). * gm2/pim/pass/charset.mod: (New file). * gm2/pim/pass/charset2.mod: (New file). * gm2/pim/pass/charset3.mod: (New file). * gm2/pim/pass/checkparm.def: (New file). * gm2/pim/pass/checkparm.mod: (New file). * gm2/pim/pass/colour.mod: (New file). * gm2/pim/pass/comment1.mod: (New file). * gm2/pim/pass/complexarray.mod: (New file). * gm2/pim/pass/complextypes.mod: (New file). * gm2/pim/pass/constcast.mod: (New file). * gm2/pim/pass/constmax.mod: (New file). * gm2/pim/pass/constset.mod: (New file). * gm2/pim/pass/constset2.mod: (New file). * gm2/pim/pass/constset3.mod: (New file). * gm2/pim/pass/constsize.mod: (New file). * gm2/pim/pass/constsize2.mod: (New file). * gm2/pim/pass/convert.mod: (New file). * gm2/pim/pass/convert2.mod: (New file). * gm2/pim/pass/convert3.mod: (New file). * gm2/pim/pass/convert4.mod: (New file). * gm2/pim/pass/danglingelse.mod: (New file). * gm2/pim/pass/debug: (New file). * gm2/pim/pass/defset.def: (New file). * gm2/pim/pass/defset.mod: (New file). * gm2/pim/pass/deftype.mod: (New file). * gm2/pim/pass/divaddr.mod: (New file). * gm2/pim/pass/enum.mod: (New file). * gm2/pim/pass/enum2.mod: (New file). * gm2/pim/pass/enum3.mod: (New file). * gm2/pim/pass/file.mod: (New file). * gm2/pim/pass/filesystem.mod: (New file). * gm2/pim/pass/foo.mod: (New file). * gm2/pim/pass/foo2.mod: (New file). * gm2/pim/pass/for1.mod: (New file). * gm2/pim/pass/function.mod: (New file). * gm2/pim/pass/function2.mod: (New file). * gm2/pim/pass/gcd.def: (New file). * gm2/pim/pass/gcd.mod: (New file). * gm2/pim/pass/getconst.mod: (New file). * gm2/pim/pass/hello.mod: (New file). * gm2/pim/pass/impa.mod: (New file). * gm2/pim/pass/impb.def: (New file). * gm2/pim/pass/impb.mod: (New file). * gm2/pim/pass/impc.def: (New file). * gm2/pim/pass/impc.mod: (New file). * gm2/pim/pass/impd.mod: (New file). * gm2/pim/pass/impe.mod: (New file). * gm2/pim/pass/impf.mod: (New file). * gm2/pim/pass/impg.mod: (New file). * gm2/pim/pass/imph.mod: (New file). * gm2/pim/pass/impi.mod: (New file). * gm2/pim/pass/impj.mod: (New file). * gm2/pim/pass/impk.mod: (New file). * gm2/pim/pass/impl.mod: (New file). * gm2/pim/pass/impm.mod: (New file). * gm2/pim/pass/impn.def: (New file). * gm2/pim/pass/impn.mod: (New file). * gm2/pim/pass/impo.mod: (New file). * gm2/pim/pass/imports.mod: (New file). * gm2/pim/pass/impp.def: (New file). * gm2/pim/pass/impp.mod: (New file). * gm2/pim/pass/impq.def: (New file). * gm2/pim/pass/impq.mod: (New file). * gm2/pim/pass/incompsets.mod: (New file). * gm2/pim/pass/index.mod: (New file). * gm2/pim/pass/index2.mod: (New file). * gm2/pim/pass/indirect.mod: (New file). * gm2/pim/pass/inner.mod: (New file). * gm2/pim/pass/inner2.mod: (New file). * gm2/pim/pass/int.mod: (New file). * gm2/pim/pass/largeset.mod: (New file). * gm2/pim/pass/largeset1.mod: (New file). * gm2/pim/pass/largeset2.mod: (New file). * gm2/pim/pass/largeset3.mod: (New file). * gm2/pim/pass/largeset4.mod: (New file). * gm2/pim/pass/largeset5.mod: (New file). * gm2/pim/pass/largeset6.mod: (New file). * gm2/pim/pass/largeset7.mod: (New file). * gm2/pim/pass/localmod.mod: (New file). * gm2/pim/pass/localproc.mod: (New file). * gm2/pim/pass/localvar.mod: (New file). * gm2/pim/pass/log: (New file). * gm2/pim/pass/longint.mod: (New file). * gm2/pim/pass/longint2.mod: (New file). * gm2/pim/pass/longmm.mod: (New file). * gm2/pim/pass/longreal.mod: (New file). * gm2/pim/pass/longtypes.mod: (New file). * gm2/pim/pass/longtypes3.mod: (New file). * gm2/pim/pass/longtypes4.mod: (New file). * gm2/pim/pass/longtypes5.mod: (New file). * gm2/pim/pass/longtypes6.mod: (New file). * gm2/pim/pass/loopexit.mod: (New file). * gm2/pim/pass/math.mod: (New file). * gm2/pim/pass/maxlongint.mod: (New file). * gm2/pim/pass/maxreal.mod: (New file). * gm2/pim/pass/maxreal2.mod: (New file). * gm2/pim/pass/minmaxconst.mod: (New file). * gm2/pim/pass/minmaxconst2.mod: (New file). * gm2/pim/pass/modaddr.mod: (New file). * gm2/pim/pass/multaddr.mod: (New file). * gm2/pim/pass/multiple.mod: (New file). * gm2/pim/pass/multiset.mod: (New file). * gm2/pim/pass/multtypes.mod: (New file). * gm2/pim/pass/mydef.def: (New file). * gm2/pim/pass/negatives.def: (New file). * gm2/pim/pass/negatives.mod: (New file). * gm2/pim/pass/nested.mod: (New file). * gm2/pim/pass/nested2.mod: (New file). * gm2/pim/pass/nested3.mod: (New file). * gm2/pim/pass/nested4.mod: (New file). * gm2/pim/pass/nested5.mod: (New file). * gm2/pim/pass/nested6.mod: (New file). * gm2/pim/pass/nested7.mod: (New file). * gm2/pim/pass/nestedfor.mod: (New file). * gm2/pim/pass/nestedif.mod: (New file). * gm2/pim/pass/nestedset.mod: (New file). * gm2/pim/pass/onezero.mod: (New file). * gm2/pim/pass/opaque.def: (New file). * gm2/pim/pass/opaque.mod: (New file). * gm2/pim/pass/opaque2.mod: (New file). * gm2/pim/pass/opaquetype.def: (New file). * gm2/pim/pass/opaquetype.mod: (New file). * gm2/pim/pass/param.mod: (New file). * gm2/pim/pass/param2.mod: (New file). * gm2/pim/pass/param3.mod: (New file). * gm2/pim/pass/parambool.mod: (New file). * gm2/pim/pass/paramreal.mod: (New file). * gm2/pim/pass/pim-pass.exp: (New file). * gm2/pim/pass/pimimp.mod: (New file). * gm2/pim/pass/pointer.mod: (New file). * gm2/pim/pass/procadr.mod: (New file). * gm2/pim/pass/procconv.mod: (New file). * gm2/pim/pass/procconv2.mod: (New file). * gm2/pim/pass/procedure1.mod: (New file). * gm2/pim/pass/procedure2.mod: (New file). * gm2/pim/pass/procindirect.mod: (New file). * gm2/pim/pass/procmod.mod: (New file). * gm2/pim/pass/procmod2.mod: (New file). * gm2/pim/pass/procmod3.mod: (New file). * gm2/pim/pass/procmod31.mod: (New file). * gm2/pim/pass/procmod4.mod: (New file). * gm2/pim/pass/procmod5.mod: (New file). * gm2/pim/pass/procmod6.def: (New file). * gm2/pim/pass/procmod6.mod: (New file). * gm2/pim/pass/procmod7.mod: (New file). * gm2/pim/pass/procmod8.mod: (New file). * gm2/pim/pass/procmod9.mod: (New file). * gm2/pim/pass/proctype.mod: (New file). * gm2/pim/pass/proctype2.def: (New file). * gm2/pim/pass/proctype3.mod: (New file). * gm2/pim/pass/proctype4.mod: (New file). * gm2/pim/pass/program.mod: (New file). * gm2/pim/pass/program2.mod: (New file). * gm2/pim/pass/ptrarray.mod: (New file). * gm2/pim/pass/ptrarray2.mod: (New file). * gm2/pim/pass/ptrarray3.mod: (New file). * gm2/pim/pass/ptrcard.mod: (New file). * gm2/pim/pass/quads.def: (New file). * gm2/pim/pass/quads.mod: (New file). * gm2/pim/pass/real.mod: (New file). * gm2/pim/pass/real2.mod: (New file). * gm2/pim/pass/real3.mod: (New file). * gm2/pim/pass/realconst.mod: (New file). * gm2/pim/pass/realneg.mod: (New file). * gm2/pim/pass/realneg2.mod: (New file). * gm2/pim/pass/realone.mod: (New file). * gm2/pim/pass/realsize.mod: (New file). * gm2/pim/pass/record1.mod: (New file). * gm2/pim/pass/record10.mod: (New file). * gm2/pim/pass/record11.mod: (New file). * gm2/pim/pass/record12.def: (New file). * gm2/pim/pass/record13.def: (New file). * gm2/pim/pass/record14.def: (New file). * gm2/pim/pass/record15.def: (New file). * gm2/pim/pass/record16.def: (New file). * gm2/pim/pass/record2.mod: (New file). * gm2/pim/pass/record3.mod: (New file). * gm2/pim/pass/record4.mod: (New file). * gm2/pim/pass/record5.mod: (New file). * gm2/pim/pass/record6.mod: (New file). * gm2/pim/pass/record7.mod: (New file). * gm2/pim/pass/record8.mod: (New file). * gm2/pim/pass/record9.mod: (New file). * gm2/pim/pass/recordarray.c: (New file). * gm2/pim/pass/recordarray.mod: (New file). * gm2/pim/pass/recordarray2.mod: (New file). * gm2/pim/pass/redef.mod: (New file). * gm2/pim/pass/set10.mod: (New file). * gm2/pim/pass/set11.def: (New file). * gm2/pim/pass/set11.mod: (New file). * gm2/pim/pass/set12.mod: (New file). * gm2/pim/pass/set4.mod: (New file). * gm2/pim/pass/set5.mod: (New file). * gm2/pim/pass/set6.mod: (New file). * gm2/pim/pass/set7.mod: (New file). * gm2/pim/pass/set8.mod: (New file). * gm2/pim/pass/set9.mod: (New file). * gm2/pim/pass/setchar.mod: (New file). * gm2/pim/pass/setchar10.mod: (New file). * gm2/pim/pass/setchar11.mod: (New file). * gm2/pim/pass/setchar3.mod: (New file). * gm2/pim/pass/setchar4.mod: (New file). * gm2/pim/pass/setchar5.mod: (New file). * gm2/pim/pass/setchar7.mod: (New file). * gm2/pim/pass/setchar8.mod: (New file). * gm2/pim/pass/setchar9.mod: (New file). * gm2/pim/pass/setconst.mod: (New file). * gm2/pim/pass/setconst2.mod: (New file). * gm2/pim/pass/setconst3.mod: (New file). * gm2/pim/pass/setenum.mod: (New file). * gm2/pim/pass/setimp.mod: (New file). * gm2/pim/pass/setimp2.mod: (New file). * gm2/pim/pass/setofchar.mod: (New file). * gm2/pim/pass/setoverflow.mod: (New file). * gm2/pim/pass/sets.mod: (New file). * gm2/pim/pass/sets2.mod: (New file). * gm2/pim/pass/sets3.mod: (New file). * gm2/pim/pass/sets4.mod: (New file). * gm2/pim/pass/sets5.mod: (New file). * gm2/pim/pass/sets6.mod: (New file). * gm2/pim/pass/setsnul.mod: (New file). * gm2/pim/pass/settest1.mod: (New file). * gm2/pim/pass/settest2.mod: (New file). * gm2/pim/pass/settest3.mod: (New file). * gm2/pim/pass/simpleproc.mod: (New file). * gm2/pim/pass/sizes.mod: (New file). * gm2/pim/pass/sizetype.mod: (New file). * gm2/pim/pass/smallset1.mod: (New file). * gm2/pim/pass/smallset2.mod: (New file). * gm2/pim/pass/smallset3.mod: (New file). * gm2/pim/pass/smallset4.mod: (New file). * gm2/pim/pass/smallset5.mod: (New file). * gm2/pim/pass/smallset6.mod: (New file). * gm2/pim/pass/smallset7.mod: (New file). * gm2/pim/pass/stabs.mod: (New file). * gm2/pim/pass/stdio.mod: (New file). * gm2/pim/pass/str1.mod: (New file). * gm2/pim/pass/str2.mod: (New file). * gm2/pim/pass/str3.mod: (New file). * gm2/pim/pass/str4.mod: (New file). * gm2/pim/pass/str5.mod: (New file). * gm2/pim/pass/stressset.mod: (New file). * gm2/pim/pass/stringassign.mod: (New file). * gm2/pim/pass/stringopaq.mod: (New file). * gm2/pim/pass/strings.mod: (New file). * gm2/pim/pass/strparam.def: (New file). * gm2/pim/pass/strparam.mod: (New file). * gm2/pim/pass/subrange.mod: (New file). * gm2/pim/pass/subrange10.mod: (New file). * gm2/pim/pass/subrange11.mod: (New file). * gm2/pim/pass/subrange12.mod: (New file). * gm2/pim/pass/subrange14.mod: (New file). * gm2/pim/pass/subrange15.mod: (New file). * gm2/pim/pass/subrange16.mod: (New file). * gm2/pim/pass/subrange17.mod: (New file). * gm2/pim/pass/subrange2.mod: (New file). * gm2/pim/pass/subrange3.mod: (New file). * gm2/pim/pass/subrange4.mod: (New file). * gm2/pim/pass/subrange5.mod: (New file). * gm2/pim/pass/subrange6.mod: (New file). * gm2/pim/pass/subrange7.mod: (New file). * gm2/pim/pass/subrange8.mod: (New file). * gm2/pim/pass/subrange9.mod: (New file). * gm2/pim/pass/test2recursive.mod: (New file). * gm2/pim/pass/testabs.mod: (New file). * gm2/pim/pass/testbuiltin.mod: (New file). * gm2/pim/pass/testbuiltin2.mod: (New file). * gm2/pim/pass/testbuiltstr.mod: (New file). * gm2/pim/pass/testcap.mod: (New file). * gm2/pim/pass/testcap2.mod: (New file). * gm2/pim/pass/testcard.mod: (New file). * gm2/pim/pass/testcard2.mod: (New file). * gm2/pim/pass/testcard3.mod: (New file). * gm2/pim/pass/testcard4.mod: (New file). * gm2/pim/pass/testcard5.mod: (New file). * gm2/pim/pass/testcase.mod: (New file). * gm2/pim/pass/testcase2.mod: (New file). * gm2/pim/pass/testcase3.mod: (New file). * gm2/pim/pass/testcase4.mod: (New file). * gm2/pim/pass/testchar.mod: (New file). * gm2/pim/pass/testfloat.mod: (New file). * gm2/pim/pass/testfloat2.mod: (New file). * gm2/pim/pass/testfloat3.mod: (New file). * gm2/pim/pass/testfloat4.mod: (New file). * gm2/pim/pass/testfor.mod: (New file). * gm2/pim/pass/testimpvar.mod: (New file). * gm2/pim/pass/testlong3.mod: (New file). * gm2/pim/pass/testmod.mod: (New file). * gm2/pim/pass/testmod2.mod: (New file). * gm2/pim/pass/testodd.mod: (New file). * gm2/pim/pass/testopaque.mod: (New file). * gm2/pim/pass/testopaque2.mod: (New file). * gm2/pim/pass/testopaque3.mod: (New file). * gm2/pim/pass/testord.mod: (New file). * gm2/pim/pass/testparam.mod: (New file). * gm2/pim/pass/testparam2.mod: (New file). * gm2/pim/pass/testparam3.mod: (New file). * gm2/pim/pass/testpimsize.mod: (New file). * gm2/pim/pass/testrecursive.def: (New file). * gm2/pim/pass/testrecursive.mod: (New file). * gm2/pim/pass/testreturnstr.mod: (New file). * gm2/pim/pass/testset.mod: (New file). * gm2/pim/pass/testshort.mod: (New file). * gm2/pim/pass/testsinf.mod: (New file). * gm2/pim/pass/testsinl.mod: (New file). * gm2/pim/pass/testsize.mod: (New file). * gm2/pim/pass/testvar.mod: (New file). * gm2/pim/pass/testvarin.mod: (New file). * gm2/pim/pass/timeio.mod: (New file). * gm2/pim/pass/timeio2.mod: (New file). * gm2/pim/pass/timeio3.mod: (New file). * gm2/pim/pass/timeio4.mod: (New file). * gm2/pim/pass/timeio5.mod: (New file). * gm2/pim/pass/timeio6.mod: (New file). * gm2/pim/pass/timeio7.mod: (New file). * gm2/pim/pass/timeio8.mod: (New file). * gm2/pim/pass/timeio9.mod: (New file). * gm2/pim/pass/tinyalloc.mod: (New file). * gm2/pim/pass/tinyarray.mod: (New file). * gm2/pim/pass/tinyarray2.mod: (New file). * gm2/pim/pass/tinyarray3.mod: (New file). * gm2/pim/pass/tinyarray4.mod: (New file). * gm2/pim/pass/tinyarray5.mod: (New file). * gm2/pim/pass/tinyarray6.mod: (New file). * gm2/pim/pass/tinyassign.def: (New file). * gm2/pim/pass/tinyassign.mod: (New file). * gm2/pim/pass/tinyassign2.mod: (New file). * gm2/pim/pass/tinyassign3.mod: (New file). * gm2/pim/pass/tinyassign4.mod: (New file). * gm2/pim/pass/tinyassign5.mod: (New file). * gm2/pim/pass/tinybitset.mod: (New file). * gm2/pim/pass/tinyelse.mod: (New file). * gm2/pim/pass/tinyenum.mod: (New file). * gm2/pim/pass/tinyfor.mod: (New file). * gm2/pim/pass/tinyfor2.mod: (New file). * gm2/pim/pass/tinyfor3.mod: (New file). * gm2/pim/pass/tinyhalt.mod: (New file). * gm2/pim/pass/tinyhello.mod: (New file). * gm2/pim/pass/tinyif.mod: (New file). * gm2/pim/pass/tinyif2.mod: (New file). * gm2/pim/pass/tinyif3.mod: (New file). * gm2/pim/pass/tinyif4.mod: (New file). * gm2/pim/pass/tinyif5.mod: (New file). * gm2/pim/pass/tinyif6.mod: (New file). * gm2/pim/pass/tinyif7.mod: (New file). * gm2/pim/pass/tinyif8.mod: (New file). * gm2/pim/pass/tinyimp.mod: (New file). * gm2/pim/pass/tinylit.mod: (New file). * gm2/pim/pass/tinylit2.mod: (New file). * gm2/pim/pass/tinymax.mod: (New file). * gm2/pim/pass/tinymod.mod: (New file). * gm2/pim/pass/tinynode.mod: (New file). * gm2/pim/pass/tinyparam.mod: (New file). * gm2/pim/pass/tinyparam2.mod: (New file). * gm2/pim/pass/tinyplus.mod: (New file). * gm2/pim/pass/tinyproc.mod: (New file). * gm2/pim/pass/tinyproc2.mod: (New file). * gm2/pim/pass/tinyproc3.mod: (New file). * gm2/pim/pass/tinyproc4.mod: (New file). * gm2/pim/pass/tinyproc5.mod: (New file). * gm2/pim/pass/tinyproc6.mod: (New file). * gm2/pim/pass/tinyptr.mod: (New file). * gm2/pim/pass/tinyreal.mod: (New file). * gm2/pim/pass/tinyrecord.mod: (New file). * gm2/pim/pass/tinyrepeat.mod: (New file). * gm2/pim/pass/tinyset6.mod: (New file). * gm2/pim/pass/tinyset7.mod: (New file). * gm2/pim/pass/tinystate.mod: (New file). * gm2/pim/pass/tinysub.def: (New file). * gm2/pim/pass/tinytest.mod: (New file). * gm2/pim/pass/tinytrue.mod: (New file). * gm2/pim/pass/tinyvar.mod: (New file). * gm2/pim/pass/tinyvar2.mod: (New file). * gm2/pim/pass/tinyvar3.mod: (New file). * gm2/pim/pass/tinyvar4.mod: (New file). * gm2/pim/pass/tinyvar5.mod: (New file). * gm2/pim/pass/tinyvarient.mod: (New file). * gm2/pim/pass/tinyvarient2.mod: (New file). * gm2/pim/pass/tinyvarient3.def: (New file). * gm2/pim/pass/tinyvarient3.mod: (New file). * gm2/pim/pass/tinyvarient4.mod: (New file). * gm2/pim/pass/tinyvarient5.mod: (New file). * gm2/pim/pass/tinyvarient6.mod: (New file). * gm2/pim/pass/tinywhile.mod: (New file). * gm2/pim/pass/tinywith.mod: (New file). * gm2/pim/pass/tinywith2.mod: (New file). * gm2/pim/pass/tinywith3.mod: (New file). * gm2/pim/pass/tinywith4.mod: (New file). * gm2/pim/pass/tinywith5.mod: (New file). * gm2/pim/pass/tinywith6.mod: (New file). * gm2/pim/pass/trunc.mod: (New file). * gm2/pim/pass/try: (New file). * gm2/pim/pass/typeequiv.mod: (New file). * gm2/pim/pass/typeequiv2.mod: (New file). * gm2/pim/pass/typeequiv3.mod: (New file). * gm2/pim/pass/typeonly.def: (New file). * gm2/pim/pass/typeonly.mod: (New file). * gm2/pim/pass/typesize.mod: (New file). * gm2/pim/pass/unbounded.mod: (New file). * gm2/pim/pass/unbounded2.mod: (New file). * gm2/pim/pass/unbounded3.mod: (New file). * gm2/pim/pass/v.def: (New file). * gm2/pim/pass/varaddress.mod: (New file). * gm2/pim/pass/varaddress2.mod: (New file). * gm2/pim/pass/varaddress3.mod: (New file). * gm2/pim/pass/varcard.mod: (New file). * gm2/pim/pass/variant9.mod: (New file). * gm2/pim/pass/varient.mod: (New file). * gm2/pim/pass/varient2.mod: (New file). * gm2/pim/pass/varient3.mod: (New file). * gm2/pim/pass/varient4.mod: (New file). * gm2/pim/pass/varient5.mod: (New file). * gm2/pim/pass/varient6.mod: (New file). * gm2/pim/pass/varient7.mod: (New file). * gm2/pim/pass/varient8.mod: (New file). * gm2/pim/pass/varin.def: (New file). * gm2/pim/pass/varin.mod: (New file). * gm2/pim/pass/varint.mod: (New file). * gm2/pim/pass/wincat.mod: (New file). * gm2/pim/pass/with.mod: (New file). * gm2/pim/pass/wordconst.mod: (New file). * gm2/pim/run/fail/case.mod: (New file). * gm2/pim/run/fail/nil.mod: (New file). * gm2/pim/run/fail/pim-run-fail.exp: (New file). * gm2/pim/run/pass/Countdown.mod: (New file). * gm2/pim/run/pass/EndFor.def: (New file). * gm2/pim/run/pass/EndFor.mod: (New file). * gm2/pim/run/pass/EnumTest.mod: (New file). * gm2/pim/run/pass/For1.mod: (New file). * gm2/pim/run/pass/For10.mod: (New file). * gm2/pim/run/pass/For11.mod: (New file). * gm2/pim/run/pass/For12.mod: (New file). * gm2/pim/run/pass/For2.mod: (New file). * gm2/pim/run/pass/For3.mod: (New file). * gm2/pim/run/pass/For4.mod: (New file). * gm2/pim/run/pass/For5.mod: (New file). * gm2/pim/run/pass/For6.mod: (New file). * gm2/pim/run/pass/For7.mod: (New file). * gm2/pim/run/pass/For8.mod: (New file). * gm2/pim/run/pass/For9.mod: (New file). * gm2/pim/run/pass/FpuIOBug.mod: (New file). * gm2/pim/run/pass/MaxReal.mod: (New file). * gm2/pim/run/pass/MaxReal2.mod: (New file). * gm2/pim/run/pass/TestLong.mod: (New file). * gm2/pim/run/pass/TestLong2.mod: (New file). * gm2/pim/run/pass/TestLong4.mod: (New file). * gm2/pim/run/pass/TestLong5.mod: (New file). * gm2/pim/run/pass/addrarray.mod: (New file). * gm2/pim/run/pass/arraychar.mod: (New file). * gm2/pim/run/pass/arraychar2.mod: (New file). * gm2/pim/run/pass/arrayrecord.mod: (New file). * gm2/pim/run/pass/bitsettest.def: (New file). * gm2/pim/run/pass/bitsettest.mod: (New file). * gm2/pim/run/pass/bytearray.mod: (New file). * gm2/pim/run/pass/constdynstr.mod: (New file). * gm2/pim/run/pass/conststr.mod: (New file). * gm2/pim/run/pass/conststr2.mod: (New file). * gm2/pim/run/pass/cycles.mod: (New file). * gm2/pim/run/pass/dec.mod: (New file). * gm2/pim/run/pass/enums.mod: (New file). * gm2/pim/run/pass/incsubrange.def: (New file). * gm2/pim/run/pass/incsubrange.mod: (New file). * gm2/pim/run/pass/index3.mod: (New file). * gm2/pim/run/pass/int16.mod: (New file). * gm2/pim/run/pass/int32.mod: (New file). * gm2/pim/run/pass/int8.mod: (New file). * gm2/pim/run/pass/line.mod: (New file). * gm2/pim/run/pass/long.mod: (New file). * gm2/pim/run/pass/longfor.mod: (New file). * gm2/pim/run/pass/longtypes10.mod: (New file). * gm2/pim/run/pass/longtypes7.mod: (New file). * gm2/pim/run/pass/longtypes8.mod: (New file). * gm2/pim/run/pass/longtypes9.mod: (New file). * gm2/pim/run/pass/math.mod: (New file). * gm2/pim/run/pass/math2.mod: (New file). * gm2/pim/run/pass/mathconst.mod: (New file). * gm2/pim/run/pass/minhello.mod: (New file). * gm2/pim/run/pass/minimal.mod: (New file). * gm2/pim/run/pass/nestedproc.mod: (New file). * gm2/pim/run/pass/nestedproc2.mod: (New file). * gm2/pim/run/pass/nestedproc3.mod: (New file). * gm2/pim/run/pass/nestedproc4.mod: (New file). * gm2/pim/run/pass/nestedproc5.mod: (New file). * gm2/pim/run/pass/nestedproc6.mod: (New file). * gm2/pim/run/pass/nestedproc7.mod: (New file). * gm2/pim/run/pass/nestedwith.mod: (New file). * gm2/pim/run/pass/nestedwith2.mod: (New file). * gm2/pim/run/pass/nestedwith3.mod: (New file). * gm2/pim/run/pass/nothing.mod: (New file). * gm2/pim/run/pass/pim-run-pass.exp: (New file). * gm2/pim/run/pass/prog31ex.mod: (New file). * gm2/pim/run/pass/rts.mod: (New file). * gm2/pim/run/pass/setcritical.mod: (New file). * gm2/pim/run/pass/setequiv.mod: (New file). * gm2/pim/run/pass/str6.mod: (New file). * gm2/pim/run/pass/stringaddr.mod: (New file). * gm2/pim/run/pass/stringaddr2.def: (New file). * gm2/pim/run/pass/stringaddr2.mod: (New file). * gm2/pim/run/pass/stripped.mod: (New file). * gm2/pim/run/pass/sys.def: (New file). * gm2/pim/run/pass/sys.mod: (New file). * gm2/pim/run/pass/t.def: (New file). * gm2/pim/run/pass/testaddr.mod: (New file). * gm2/pim/run/pass/testaddr2.mod: (New file). * gm2/pim/run/pass/testaddr3.mod: (New file). * gm2/pim/run/pass/testarray.mod: (New file). * gm2/pim/run/pass/testarray2.mod: (New file). * gm2/pim/run/pass/testarray3.mod: (New file). * gm2/pim/run/pass/testarray4.mod: (New file). * gm2/pim/run/pass/testarray5.mod: (New file). * gm2/pim/run/pass/testavail.mod: (New file). * gm2/pim/run/pass/testdiv.mod: (New file). * gm2/pim/run/pass/testfpufunc.mod: (New file). * gm2/pim/run/pass/testfpufunc2.mod: (New file). * gm2/pim/run/pass/testlarge.mod: (New file). * gm2/pim/run/pass/testlarge2.mod: (New file). * gm2/pim/run/pass/testnextproc.mod: (New file). * gm2/pim/run/pass/testparam.mod: (New file). * gm2/pim/run/pass/testreturnstr.mod: (New file). * gm2/pim/run/pass/testreturnstr2.mod: (New file). * gm2/pim/run/pass/testreturnstr3.def: (New file). * gm2/pim/run/pass/testreturnstr3.mod: (New file). * gm2/pim/run/pass/testsize.mod: (New file). * gm2/pim/run/pass/testsize2.mod: (New file). * gm2/pim/run/pass/testsize3.mod: (New file). * gm2/pim/run/pass/testsize4.mod: (New file). * gm2/pim/run/pass/testtbitsize.mod: (New file). * gm2/pim/run/pass/tinywith.mod: (New file). * gm2/pim/run/pass/unbounded.mod: (New file). * gm2/pim/run/pass/varaddress3.mod: (New file). * gm2/pim/run/pass/varparam2.mod: (New file). * gm2/pim/run/pass/varparam3.mod: (New file). * gm2/pim/run/pass/varparm.mod: (New file). * gm2/pim/run/pass/wr.mod: (New file). * gm2/pimcoroutines/pass/imports.mod: (New file). * gm2/pimcoroutines/pass/imports2.mod: (New file). * gm2/pimcoroutines/pass/pimcoroutines-pass.exp: (New file). * gm2/pimcoroutines/run/pass/pimcoroutines-run-pass.exp: (New file). * gm2/pimcoroutines/run/pass/testtime.mod: (New file). * gm2/pimlib/base/run/pass/FIO.mod: (New file). * gm2/pimlib/base/run/pass/StrLib.mod: (New file). * gm2/pimlib/base/run/pass/pimlib-base-run-pass.exp: (New file). * gm2/pimlib/base/run/pass/testconvert.mod: (New file). * gm2/pimlib/coroutines/pass/pimlib-coroutines-pass.exp: (New file). * gm2/pimlib/coroutines/pass/priority.mod: (New file). * gm2/pimlib/coroutines/pass/priority2.mod: (New file). * gm2/pimlib/coroutines/pass/priority3.def: (New file). * gm2/pimlib/coroutines/pass/priority3.mod: (New file). * gm2/pimlib/logitech/pass/LogitechLong.mod: (New file). * gm2/pimlib/logitech/pass/hello.mod: (New file). * gm2/pimlib/logitech/pass/pimlib-logitech-pass.exp: (New file). * gm2/pimlib/logitech/run/pass/bbits.mod: (New file). * gm2/pimlib/logitech/run/pass/hello.mod: (New file). * gm2/pimlib/logitech/run/pass/helloinout.mod: (New file). * gm2/pimlib/logitech/run/pass/intb.mod: (New file). * gm2/pimlib/logitech/run/pass/pimlib-logitech-run-pass.exp: (New file). * gm2/pimlib/logitech/run/pass/realconv.mod: (New file). * gm2/pimlib/logitech/run/pass/realinput.mod: (New file). * gm2/pimlib/logitech/run/pass/realinput2.mod: (New file). * gm2/pimlib/logitech/run/pass/realinput3.mod: (New file). * gm2/pimlib/logitech/run/pass/rename.mod: (New file). * gm2/pimlib/logitech/run/pass/timedate.mod: (New file). * gm2/pimlib/logitech/run/pass/writeoct.mod: (New file). * gm2/pimlib/pass/pimlib-pass.exp: (New file). * gm2/pimlib/run/pass/format.mod: (New file). * gm2/pimlib/run/pass/limittests.c: (New file). * gm2/pimlib/run/pass/limittests.mod: (New file). * gm2/pimlib/run/pass/longreal.mod: (New file). * gm2/pimlib/run/pass/pimlib-run-pass.exp: (New file). * gm2/pimlib/run/pass/test.c: (New file). * gm2/pimlib/run/pass/testreal.mod: (New file). * gm2/pimlib/run/pass/testreal2.mod: (New file). * gm2/pimlib/run/pass/testreal4.mod: (New file). * gm2/projects/README: (New file). * gm2/projects/iso/run/pass/halma/halma.mod: (New file). * gm2/projects/iso/run/pass/halma/projects-iso-run-pass-halma.exp: (New file). * gm2/projects/iso/run/pass/hello/hello.mod: (New file). * gm2/projects/iso/run/pass/hello/projects-iso-run-pass-hello.exp: (New file). * gm2/projects/log/run/pass/hello/hello.mod: (New file). * gm2/projects/log/run/pass/hello/projects-log-run-pass-hello.exp: (New file). * gm2/projects/pim/run/pass/hello/hello.mod: (New file). * gm2/projects/pim/run/pass/hello/projects-pim-run-pass-hello.exp: (New file). * gm2/projects/pim/run/pass/random/AdvMap.def: (New file). * gm2/projects/pim/run/pass/random/AdvMap.mod: (New file). * gm2/projects/pim/run/pass/random/BoxMap.def: (New file). * gm2/projects/pim/run/pass/random/BoxMap.mod: (New file). * gm2/projects/pim/run/pass/random/Chance.def: (New file). * gm2/projects/pim/run/pass/random/Chance.mod: (New file). * gm2/projects/pim/run/pass/random/Geometry.def: (New file). * gm2/projects/pim/run/pass/random/Geometry.mod: (New file). * gm2/projects/pim/run/pass/random/MakeBoxes.def: (New file). * gm2/projects/pim/run/pass/random/MakeBoxes.mod: (New file). * gm2/projects/pim/run/pass/random/Map.mod: (New file). * gm2/projects/pim/run/pass/random/MapOptions.def: (New file). * gm2/projects/pim/run/pass/random/MapOptions.mod: (New file). * gm2/projects/pim/run/pass/random/Options.def: (New file). * gm2/projects/pim/run/pass/random/Options.mod: (New file). * gm2/projects/pim/run/pass/random/RoomMap.def: (New file). * gm2/projects/pim/run/pass/random/RoomMap.mod: (New file). * gm2/projects/pim/run/pass/random/StoreCoords.def: (New file). * gm2/projects/pim/run/pass/random/StoreCoords.mod: (New file). * gm2/projects/pim/run/pass/random/WriteMap.def: (New file). * gm2/projects/pim/run/pass/random/WriteMap.mod: (New file). * gm2/projects/pim/run/pass/random/projects-pim-run-pass-random.exp: (New file). * gm2/quads/run/pass/becomes.mod: (New file). * gm2/quads/run/pass/param.mod: (New file). * gm2/quads/run/pass/quads-run-pass.exp: (New file). * gm2/quads/run/pass/return.mod: (New file). * gm2/recover/pass/cannot-solve/begin.mod: (New file). * gm2/recover/pass/cannot-solve/statementsemi.mod: (New file). * gm2/recover/pass/end2.mod: (New file). * gm2/recover/pass/of.mod: (New file). * gm2/recover/pass/procsemi.mod: (New file). * gm2/recover/pass/recover-pass.exp: (New file). * gm2/recover/pass/rrbra.mod: (New file). * gm2/recover/pass/rsbra.mod: (New file). * gm2/recover/pass/semi.mod: (New file). * gm2/run/fail/list.mod: (New file). * gm2/run/fail/options: (New file). * gm2/run/fail/testdec.mod: (New file). * gm2/run/fail/testfunc.mod: (New file). * gm2/run/pass/cycles.mod: (New file). * gm2/run/pass/line.mod: (New file). * gm2/run/pass/nestedproc.mod: (New file). * gm2/run/pass/nestedproc2.mod: (New file). * gm2/run/pass/nestedproc3.mod: (New file). * gm2/run/pass/nestedproc5.mod: (New file). * gm2/run/pass/nestedset.mod: (New file). * gm2/run/pass/nothing.mod: (New file). * gm2/run/pass/options: (New file). * gm2/run/pass/prog31ex.mod: (New file). * gm2/run/pass/rts.mod: (New file). * gm2/run/pass/stripped.mod: (New file). * gm2/run/pass/testavail.mod: (New file). * gm2/run/pass/testfpufunc.mod: (New file). * gm2/run/pass/testfpufunc2.mod: (New file). * gm2/run/pass/testnextproc.mod: (New file). * gm2/run/pass/testparam.mod: (New file). * gm2/run/pass/testsize.mod: (New file). * gm2/run/pass/testsize2.mod: (New file). * gm2/run/pass/testsize3.mod: (New file). * gm2/run/pass/wr.mod: (New file). * gm2/scripts/addit: (New file). * gm2/scripts/comp: (New file). * gm2/scripts/compile: (New file). * gm2/scripts/compileiso: (New file). * gm2/scripts/link: (New file). * gm2/scripts/regression: (New file). * gm2/scripts/subit: (New file). * gm2/sets/run/pass/multisetarith.mod: (New file). * gm2/sets/run/pass/multisetarith2.mod: (New file). * gm2/sets/run/pass/multisetarith3.mod: (New file). * gm2/sets/run/pass/multisetarith4.mod: (New file). * gm2/sets/run/pass/multisetrotate.mod: (New file). * gm2/sets/run/pass/multisetrotate2.mod: (New file). * gm2/sets/run/pass/multisetrotate3.mod: (New file). * gm2/sets/run/pass/multisetrotate4.mod: (New file). * gm2/sets/run/pass/multisetshift.mod: (New file). * gm2/sets/run/pass/multisetshift2.mod: (New file). * gm2/sets/run/pass/multisimple.mod: (New file). * gm2/sets/run/pass/multisimple2.mod: (New file). * gm2/sets/run/pass/multisimple3.mod: (New file). * gm2/sets/run/pass/multisimple4.mod: (New file). * gm2/sets/run/pass/multisimple5.mod: (New file). * gm2/sets/run/pass/multisimple6.mod: (New file). * gm2/sets/run/pass/multisimple7.mod: (New file). * gm2/sets/run/pass/setarith.mod: (New file). * gm2/sets/run/pass/setarith2.mod: (New file). * gm2/sets/run/pass/setarith3.mod: (New file). * gm2/sets/run/pass/setarith4.mod: (New file). * gm2/sets/run/pass/setrotate.mod: (New file). * gm2/sets/run/pass/setrotate2.mod: (New file). * gm2/sets/run/pass/setrotate3.mod: (New file). * gm2/sets/run/pass/setrotate4.mod: (New file). * gm2/sets/run/pass/sets-run-pass.exp: (New file). * gm2/sets/run/pass/setshift.mod: (New file). * gm2/sets/run/pass/setshift2.mod: (New file). * gm2/sets/run/pass/simple.mod: (New file). * gm2/sets/run/pass/simple2.mod: (New file). * gm2/sets/run/pass/simple3.mod: (New file). * gm2/sets/run/pass/simple4.mod: (New file). * gm2/sets/run/pass/simple5.mod: (New file). * gm2/sets/run/pass/simple6.mod: (New file). * gm2/sets/run/pass/simple7.mod: (New file). * gm2/switches/auto-init/fail/switches-auto-init-fail.exp: (New file). * gm2/switches/auto-init/fail/uninitptr.mod: (New file). * gm2/switches/auto-init/fail/uninitptr2.mod: (New file). * gm2/switches/check-all/pim2/fail/overflow.mod: (New file). * gm2/switches/check-all/pim2/fail/overflow2.mod: (New file). * gm2/switches/check-all/pim2/fail/overflowdiv1.mod: (New file). * gm2/switches/check-all/pim2/fail/switches-check-all-pim2-fail.exp: (New file). * gm2/switches/check-all/plugin/iso/fail/divceilposneg.mod: (New file). * gm2/switches/check-all/plugin/iso/fail/divceilposneg2.mod: (New file). * gm2/switches/check-all/plugin/iso/fail/divceilposnegcall.mod: (New file). * gm2/switches/check-all/plugin/iso/fail/divceilposnegcall2.mod: (New file). * gm2/switches/check-all/plugin/iso/fail/divfloornegpos.mod: (New file). * gm2/switches/check-all/plugin/iso/fail/divfloorpospos.mod: (New file). * gm2/switches/check-all/plugin/iso/fail/lowdiv.mod: (New file). * gm2/switches/check-all/plugin/iso/fail/switches-check-all-plugin-iso-fail.exp: (New file). * gm2/switches/check-all/plugin/pim2/fail/divceil.mod: (New file). * gm2/switches/check-all/plugin/pim2/fail/highdiv.mod: (New file). * gm2/switches/check-all/plugin/pim2/fail/modulus.mod: (New file). * gm2/switches/check-all/plugin/pim2/fail/plugin1.mod: (New file). * gm2/switches/check-all/plugin/pim2/fail/plugin3.mod: (New file). * gm2/switches/check-all/plugin/pim2/fail/plugin4.def: (New file). * gm2/switches/check-all/plugin/pim2/fail/plugin4.mod: (New file). * gm2/switches/check-all/plugin/pim2/fail/plugin5.def: (New file). * gm2/switches/check-all/plugin/pim2/fail/plugin5.mod: (New file). * gm2/switches/check-all/plugin/pim2/fail/plugin6.def: (New file). * gm2/switches/check-all/plugin/pim2/fail/plugin6.mod: (New file). * gm2/switches/check-all/plugin/pim2/fail/plugin7.def: (New file). * gm2/switches/check-all/plugin/pim2/fail/plugin7.mod: (New file). * gm2/switches/check-all/plugin/pim2/fail/plugin8.def: (New file). * gm2/switches/check-all/plugin/pim2/fail/plugin8.mod: (New file). * gm2/switches/check-all/plugin/pim2/fail/plugin9.mod: (New file). * gm2/switches/check-all/plugin/pim2/fail/switches-check-all-plugin-pim2-fail.exp: (New file). * gm2/switches/check-all/run/fail/cardrange.mod: (New file). * gm2/switches/check-all/run/fail/cardrange2.mod: (New file). * gm2/switches/check-all/run/fail/cardrange3.mod: (New file). * gm2/switches/check-all/run/fail/intrange.mod: (New file). * gm2/switches/check-all/run/fail/intrange2.mod: (New file). * gm2/switches/check-all/run/fail/intrange3.mod: (New file). * gm2/switches/check-all/run/fail/intrange4.mod: (New file). * gm2/switches/check-all/run/fail/intrange5.mod: (New file). * gm2/switches/check-all/run/fail/multint1.mod: (New file). * gm2/switches/check-all/run/fail/multint2.mod: (New file). * gm2/switches/check-all/run/fail/multint3.mod: (New file). * gm2/switches/check-all/run/fail/rangesupport.def: (New file). * gm2/switches/check-all/run/fail/rangesupport.mod: (New file). * gm2/switches/check-all/run/fail/realrange.mod: (New file). * gm2/switches/check-all/run/fail/subrange.mod: (New file). * gm2/switches/check-all/run/fail/switches-check-all-run-fail.exp: (New file). * gm2/switches/check-all/run/fail/tinyrange.mod: (New file). * gm2/switches/check-all/run/pass/cardrange.mod: (New file). * gm2/switches/check-all/run/pass/forcheck.mod: (New file). * gm2/switches/check-all/run/pass/subrange.mod: (New file). * gm2/switches/check-all/run/pass/switches-check-all-run-pass.exp: (New file). * gm2/switches/extended-opaque/fail/a.def: (New file). * gm2/switches/extended-opaque/fail/a.mod: (New file). * gm2/switches/extended-opaque/fail/switches-extended-opaque-fail.exp: (New file). * gm2/switches/extended-opaque/pass/a.def: (New file). * gm2/switches/extended-opaque/pass/a.mod: (New file). * gm2/switches/extended-opaque/pass/b.mod: (New file). * gm2/switches/extended-opaque/pass/switches-extended-opaque-pass.exp: (New file). * gm2/switches/iso/run/pass/modulus.mod: (New file). * gm2/switches/iso/run/pass/modulus4.mod: (New file). * gm2/switches/iso/run/pass/switches-iso-run-pass.exp: (New file). * gm2/switches/makeall/fail/switches-makeall-fail.exp: (New file). * gm2/switches/makeall/fail/test.def: (New file). * gm2/switches/makeall/fail/test.mod: (New file). * gm2/switches/makeall/pass/switches-makeall-pass.exp: (New file). * gm2/switches/makeall/pass/test.def: (New file). * gm2/switches/makeall/pass/test.mod: (New file). * gm2/switches/none/run/pass/gm2-none.exp: (New file). * gm2/switches/none/run/pass/hello.mod: (New file). * gm2/switches/optimization/run/pass/fact.mod: (New file). * gm2/switches/optimization/run/pass/switches-optimization-run-pass.exp: (New file). * gm2/switches/pedantic-params/fail/a.def: (New file). * gm2/switches/pedantic-params/fail/a.mod: (New file). * gm2/switches/pedantic-params/fail/switches-pedantic-params-fail.exp: (New file). * gm2/switches/pedantic-params/pass/Strings.def: (New file). * gm2/switches/pedantic-params/pass/Strings.mod: (New file). * gm2/switches/pedantic-params/pass/Strings2.def: (New file). * gm2/switches/pedantic-params/pass/Strings2.mod: (New file). * gm2/switches/pedantic-params/pass/switches-pedantic-params-pass.exp: (New file). * gm2/switches/pedantic/fail/onlywrite.mod: (New file). * gm2/switches/pedantic/fail/readb4.mod: (New file). * gm2/switches/pic/run/pass/func.c: (New file). * gm2/switches/pic/run/pass/func.mod: (New file). * gm2/switches/pic/run/pass/func2.c: (New file). * gm2/switches/pic/run/pass/func2.mod: (New file). * gm2/switches/pic/run/pass/switches-pic-run-pass.exp: (New file). * gm2/switches/pim2/run/pass/modulus.mod: (New file). * gm2/switches/pim2/run/pass/switches-pim2-run-pass.exp: (New file). * gm2/switches/pim3/run/pass/modulus.mod: (New file). * gm2/switches/pim3/run/pass/switches-pim3-run-pass.exp: (New file). * gm2/switches/pim4/run/pass/FpuIOBug.mod: (New file). * gm2/switches/pim4/run/pass/InOutBug.mod: (New file). * gm2/switches/pim4/run/pass/NumberIOBug.mod: (New file). * gm2/switches/pim4/run/pass/modulus.mod: (New file). * gm2/switches/pim4/run/pass/modulus2.mod: (New file). * gm2/switches/pim4/run/pass/switches-pim4-run-pass.exp: (New file). * gm2/switches/whole-program/pass/run/hello.mod: (New file). * gm2/switches/whole-program/pass/run/hello2.mod: (New file). * gm2/switches/whole-program/pass/run/switches-whole-program-pass-run.exp: (New file). * gm2/switches/whole-program/pass/run/tiny.mod: (New file). * gm2/switches/whole-program/pass/run/tiny2.mod: (New file). * gm2/types/bitset.mod: (New file). * gm2/types/bitset2.mod: (New file). * gm2/types/bitset3.mod: (New file). * gm2/types/charset.mod: (New file). * gm2/types/const.mod: (New file). * gm2/types/prog35.mod: (New file). * gm2/types/real.mod: (New file). * gm2/types/run/pass/d.c: (New file). * gm2/types/run/pass/d.def: (New file). * gm2/types/run/pass/types-run-pass.exp: (New file). * gm2/types/run/pass/varient4.mod: (New file). * gm2/types/run/pass/varient5.mod: (New file). * gm2/types/string.mod: (New file). * gm2/types/type1.mod: (New file). * gm2/types/type2.mod: (New file). * gm2/types/type3.mod: (New file). * gm2/types/type4.mod: (New file). * gm2/types/varient.mod: (New file). * gm2/types/word.mod: (New file). * gm2/ulmlib/pass/ulmlib-pass.exp: (New file). * gm2/ulmlib/std/pass/ulmlib-std-pass.exp: (New file). * gm2/ulmlib/sys/pass/ulmlib-sys-pass.exp: (New file). * gm2/warnings/todo/nestedproc6.mod: (New file). * gm2/warnings/todo/options: (New file). * gm2/warnings/todo/testfor.mod: (New file). * gm2/warnings/todo/testfor2.mod: (New file). * gm2/warnings/todo/testfor3.mod: (New file). * gm2/warnings/todo/testkeywords.mod: (New file). * gm2/warnings/todo/testloop.mod: (New file). * gm2/warnings/todo/testscope.mod: (New file). * gm2/warnings/todo/testscope2.mod: (New file). * gm2/x86-asm/asm.mod: (New file). * gm2/x86-asm/asm2.mod: (New file). Signed-off-by: Gaius Mulley <gaiusmod2@gmail.com>
2022-12-14ipa-sra: Fix parameter description.Martin Jambor1-1/+2
Somehow I made the description of the parameter almost the opposite of what I wanted to say. Fixed by this patch. Tested by building gcc on x86_64-linux and make info and make pdf. gcc/ChangeLog: 2022-12-14 Martin Jambor <mjambor@suse.cz> * doc/invoke.texi (ipa-sra-ptrwrap-growth-factor): Fix the description. * params.opt (ipa-sra-ptrwrap-growth-factor): Likewise.
2022-12-14docs: document --param=ipa-sra-ptrwrap-growth-factorMartin Liska1-0/+5
gcc/ChangeLog: * doc/invoke.texi: Document ipa-sra-ptrwrap-growth-factor.
2022-12-14ipa-sra: Treat REFERENCE_TYPES as always dereferencableMartin Jambor1-0/+5
C++ and especially Fortran pass data by references which are not pointers potentially pointing anywhere and so can be assumed to be safely dereferencable. This patch teaches IPA-SRA to treat them as such and avoid the dance we do to prove that we can move loads from them to the caller. When we do not know that a dereference will happen all the time, we need a heuristics so that we do not force memory accesses that normally happen only rarely. The patch simply uses the (possibly guessed) profile and checks whether the (expected) number of loads is at least half of function invocations invocations - the half is now configurable with a param as requested by Honza. gcc/ChangeLog: 2022-12-13 Martin Jambor <mjambor@suse.cz> PR ipa/103585 * params.opt (ipa-sra-deref-prob-threshold): New parameter. * doc/invoke.texi (ipa-sra-deref-prob-threshold): Document it. * ipa-sra.cc (struct gensum_param_access): New field load_count. (struct gensum_param_desc): New field safe_ref, adjusted comments. (by_ref_count): Renamed to unsafe_by_ref_count, adjusted all uses. (dump_gensum_access): Dump the new field. (dump_gensum_param_descriptor): Likewise. (create_parameter_descriptors): Set safe_ref field, move setting by_ref forward. Only increment unsafe_by_ref_count for unsafe by_ref parameters. (allocate_access): Initialize new field. (mark_param_dereference): Adjust indentation. Only add data to bb_dereferences for unsafe by_ref parameters. (scan_expr_access): For loads, accumulate BB counts. (dereference_probable_p): New function. (check_gensum_access): Fix leading comment, add parameter FUN. Check cumulative counts of loads for safe by_ref accesses instead of dereferences. (process_scan_results): Do not propagate dereference distances for safe by_ref parameters. Pass fun to check_gensum_access. Safe by_ref params do not need the postdominance check. gcc/testsuite/ChangeLog: 2022-11-11 Martin Jambor <mjambor@suse.cz> * g++.dg/ipa/ipa-sra-5.C: New test
2022-12-13tree-optimization/105801 - CCP and .DEFERRED_INITRichard Biener1-1/+2
This makes sure we treat .DEFERRED_INIT as producing UNDEFINED so we can continue optimizing uninitialized uses the same as without -ftrivial-auto-var-init=zero. For the testcase this means we catch the return 1 optimization opportunity at CCP rather than only at FRE which already does the right thing here. PR tree-optimization/105801 * tree-ssa-ccp.cc (likely_value): .DEFERRED_INIT produces UNDEFINED. * doc/invoke.texi (ftrivial-auto-var-init): Explicitely mention we treat variables without an initializer as undefined also for optimization purposes. * gcc.dg/tree-ssa/ssa-ccp-43.c: New testcase.
2022-12-12middle-end: Add new tbranch optab to add support for bit-test-and-branch ↵Tamar Christina1-0/+7
operations This adds a new test-and-branch optab that can be used to do a conditional test of a bit and branch. This is similar to the cbranch optab but instead can test any arbitrary bit inside the register. This patch recognizes boolean comparisons and single bit mask tests. gcc/ChangeLog: * dojump.cc (do_jump): Pass along value. (do_jump_by_parts_greater_rtx): Likewise. (do_jump_by_parts_zero_rtx): Likewise. (do_jump_by_parts_equality_rtx): Likewise. (do_compare_rtx_and_jump): Likewise. (do_compare_and_jump): Likewise. * dojump.h (do_compare_rtx_and_jump): New. * optabs.cc (emit_cmp_and_jump_insn_1): Refactor to take optab to check. (validate_test_and_branch): New. (emit_cmp_and_jump_insns): Optiobally take a value, and when value is supplied then check if it's suitable for tbranch. * optabs.def (tbranch_eq$a4, tbranch_ne$a4): New. * doc/md.texi (tbranch_@var{op}@var{mode}4): Document it. * optabs.h (emit_cmp_and_jump_insns): New. * tree.h (tree_zero_one_valued_p): New.
2022-12-09i386: fix assert (__builtin_cpu_supports ("x86-64") >= 0)Martin Liska1-12/+10
Similar story as PR103661, we again return a negative number for __builtin_cpu_supports: Documentation says: int __builtin_cpu_supports(const char *feature) This function returns a positive integer if the run-time CPU supports feature and returns 0 otherwise. while we return -2147483648. Moreover, I noticed "x86-64" is not a valid option for __builtin_cpu_is, but for __builtin_cpu_supports. PR target/107551 gcc/ChangeLog: * config/i386/i386-builtins.cc (fold_builtin_cpu): Use same path as for PR103661. * doc/extend.texi: Fix "x86-64" use. gcc/testsuite/ChangeLog: * gcc.target/i386/builtin_target.c: Add more checks.
2022-12-09Implement hwasan target_hook.liuhongt1-1/+8
gcc/ChangeLog: * doc/invoke.texi (x86 options): Document -mlam={none,u48,u57}. * config/i386/i386-opts.h (enum lam_type): New enum. * config/i386/i386.cc (ix86_memtag_can_tag_addresses): New. (ix86_memtag_set_tag): Ditto. (ix86_memtag_extract_tag): Ditto. (ix86_memtag_add_tag): Ditto. (ix86_memtag_tag_size): Ditto. (ix86_memtag_untagged_pointer): Ditto. (TARGET_MEMTAG_CAN_TAG_ADDRESSES): New. (TARGET_MEMTAG_ADD_TAG): Ditto. (TARGET_MEMTAG_SET_TAG): Ditto. (TARGET_MEMTAG_EXTRACT_TAG): Ditto. (TARGET_MEMTAG_UNTAGGED_POINTER): Ditto. (TARGET_MEMTAG_TAG_SIZE): Ditto. (IX86_HWASAN_SHIFT): Ditto. (IX86_HWASAN_TAG_SIZE): Ditto. * config/i386/i386-expand.cc (ix86_expand_call): Untag code pointer. * config/i386/i386-options.cc (ix86_option_override_internal): Error when enable -mlam=[u48|u57] for 32-bit code. * config/i386/i386.opt: Add -mlam=[none|u48|u57]. * config/i386/i386-protos.h (ix86_memtag_untagged_pointer): Declare. (ix86_memtag_can_tag_addresses): Ditto.
2022-12-08docs: Suggest options to improve ASAN stack tracesMarek Polacek1-0/+10
I got a complaint that while Clang docs suggest options that improve the quality of the backtraces ASAN prints (cf. <https://clang.llvm.org/docs/AddressSanitizer.html#usage>), our docs don't say anything to that effect. This patch amends that with a new paragraph. (It deliberately doesn't mention -fno-omit-frame-pointer.) gcc/ChangeLog: * doc/invoke.texi (-fsanitize=address): Suggest options to improve stack traces.
2022-12-06Update -Warray-bounds with -fstrict-flex-arrays.Qing Zhao1-5/+22
A. add the following to clarify the relationship between -Warray-bounds and the LEVEL of -fstrict-flex-array: By default, the trailing array of a structure will be treated as a flexible array member by '-Warray-bounds' or '-Warray-bounds=N' if it is declared as either a flexible array member per C99 standard onwards ('[]'), a GCC zero-length array extension ('[0]'), or an one-element array ('[1]'). As a result, out of bounds subscripts or offsets into zero-length arrays or one-element arrays are not warned by default. You can add the option '-fstrict-flex-arrays' or '-fstrict-flex-arrays=LEVEL' to control how this option treat trailing array of a structure as a flexible array member. when LEVEL<=1, no change to the default behavior. when LEVEL=2, additional warnings will be issued for out of bounds subscripts or offsets into one-element arrays; when LEVEL=3, in addition to LEVEL=2, additional warnings will be issued for out of bounds subscripts or offsets into zero-length arrays. B. change -Warray-bounds=2 to exclude its control on how to treat trailing arrays as flexible array members: '-Warray-bounds=2' This warning level also warns about the intermediate results of pointer arithmetic that may yield out of bounds values. This warning level may give a larger number of false positives and is deactivated by default. gcc/ChangeLog: * attribs.cc (strict_flex_array_level_of): New function. * attribs.h (strict_flex_array_level_of): Prototype for new function. * doc/invoke.texi: Update -Warray-bounds by specifying the impact from -fstrict-flex-arrays. Also update -Warray-bounds=2 by eliminating its impact on treating trailing arrays as flexible array members. * gimple-array-bounds.cc (get_up_bounds_for_array_ref): New function. (check_out_of_bounds_and_warn): New function. (array_bounds_checker::check_array_ref): Update with call to the above new functions. * tree.cc (array_ref_flexible_size_p): Add one new argument. (component_ref_sam_type): New function. (component_ref_size): Control with level of strict-flex-array. * tree.h (array_ref_flexible_size_p): Update prototype. (enum struct special_array_member): Add two new enum values. (component_ref_sam_type): New prototype. gcc/c/ChangeLog: * c-decl.cc (is_flexible_array_member_p): Call new function strict_flex_array_level_of. gcc/testsuite/ChangeLog: * gcc.dg/Warray-bounds-11.c: Update warnings for -Warray-bounds=2. * gcc.dg/Warray-bounds-flex-arrays-1.c: New test. * gcc.dg/Warray-bounds-flex-arrays-2.c: New test. * gcc.dg/Warray-bounds-flex-arrays-3.c: New test. * gcc.dg/Warray-bounds-flex-arrays-4.c: New test. * gcc.dg/Warray-bounds-flex-arrays-5.c: New test. * gcc.dg/Warray-bounds-flex-arrays-6.c: New test.
2022-12-06analyzer: update internal docsDavid Malcolm1-10/+0
gcc/ChangeLog: * doc/analyzer.texi: Drop out-of-date ideas for other checkers. Signed-off-by: David Malcolm <dmalcolm@redhat.com>
2022-12-02Add --param max-unswitch-depthRichard Biener1-0/+3
The following adds a --param to limit the depth of unswitched loop nests. One can use --param max-unswitch-depth=1 to disable unswitching of outer loops (the innermost loop will then be unswitched). PR tree-optimization/107946 * params.opt (-param=max-unswitch-depth=): New. * doc/invoke.texi (--param=max-unswitch-depth): Document. * tree-ssa-loop-unswitch.cc (init_loop_unswitch_info): Honor --param=max-unswitch-depth
2022-12-02PR59447: --with-dwarf2 implies "(or later)"Eric Gallager1-1/+2
This patch includes "(or later)" in the documentation of the gcc subdirectory's --with-dwarf2 configure flag. Closes PR59447. gcc/ChangeLog: PR bootstrap/59447 * configure: Regenerate. * configure.ac: Document --with-dwarf2 flag as also applying to later DWARF standards. * doc/install.texi: Likewise.
2022-11-29analyzer work on issues with flex-generated lexers [PR103546]David Malcolm1-0/+4
PR analyzer/103546 tracks various false positives seen on flex-generated lexers. Whilst investigating them, I noticed an ICE with -fanalyzer-call-summaries due to attempting to store sm-state for an UNKNOWN svalue, which this patch fixes. This patch also provides known_function implementations of all of the external functions called by the lexer, reducing the number of false positives. The patch doesn't eliminate all false positives, but adds integration tests to try to establish a baseline from which the remaining false positives can be fixed. gcc/analyzer/ChangeLog: PR analyzer/103546 * analyzer.h (register_known_file_functions): New decl. * program-state.cc (sm_state_map::replay_call_summary): Rejct attempts to store sm-state for caller_sval that can't have associated state. * region-model-impl-calls.cc (register_known_functions): Call register_known_file_functions. * sm-fd.cc (class kf_isatty): New. (register_known_fd_functions): Register it. * sm-file.cc (class kf_ferror): New. (class kf_fileno): New. (class kf_getc): New. (register_known_file_functions): New. gcc/ChangeLog: PR analyzer/103546 * doc/invoke.texi (Static Analyzer Options): Add isatty, ferror, fileno, and getc to the list of functions known to the analyzer. gcc/testsuite/ChangeLog: PR analyzer/103546 * gcc.dg/analyzer/ferror-1.c: New test. * gcc.dg/analyzer/fileno-1.c: New test. * gcc.dg/analyzer/flex-with-call-summaries.c: New test. * gcc.dg/analyzer/flex-without-call-summaries.c: New test. * gcc.dg/analyzer/getc-1.c: New test. * gcc.dg/analyzer/isatty-1.c: New test. Signed-off-by: David Malcolm <dmalcolm@redhat.com>
2022-11-25OpenMP: Generate SIMD clones for functions with "declare target"Sandra Loosemore2-2/+23
This patch causes the IPA simdclone pass to generate clones for functions with the "omp declare target" attribute as if they had "omp declare simd", provided the function appears to be suitable for SIMD execution. The filter is conservative, rejecting functions that write memory or that call other functions not known to be safe. A new option -fopenmp-target-simd-clone is added to control this transformation; it's enabled for offload processing at -O2 and higher. gcc/ChangeLog: * common.opt (fopenmp-target-simd-clone): New option. (target_simd_clone_device): New enum to go with it. * doc/invoke.texi (-fopenmp-target-simd-clone): Document. * flag-types.h (enum omp_target_simd_clone_device_kind): New. * omp-simd-clone.cc (auto_simd_fail): New function. (auto_simd_check_stmt): New function. (plausible_type_for_simd_clone): New function. (ok_for_auto_simd_clone): New function. (simd_clone_create): Add force_local argument, make the symbol have internal linkage if it is true. (expand_simd_clones): Also check for cloneable functions with "omp declare target". Pass explicit_p argument to simd_clone.compute_vecsize_and_simdlen target hook. * opts.cc (default_options_table): Add -fopenmp-target-simd-clone. * target.def (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN): Add bool explicit_p argument. * doc/tm.texi: Regenerated. * config/aarch64/aarch64.cc (aarch64_simd_clone_compute_vecsize_and_simdlen): Update. * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen): Update. * config/i386/i386.cc (ix86_simd_clone_compute_vecsize_and_simdlen): Update. gcc/testsuite/ChangeLog: * g++.dg/gomp/target-simd-clone-1.C: New. * g++.dg/gomp/target-simd-clone-2.C: New. * gcc.dg/gomp/target-simd-clone-1.c: New. * gcc.dg/gomp/target-simd-clone-2.c: New. * gcc.dg/gomp/target-simd-clone-3.c: New. * gcc.dg/gomp/target-simd-clone-4.c: New. * gcc.dg/gomp/target-simd-clone-5.c: New. * gcc.dg/gomp/target-simd-clone-6.c: New. * gcc.dg/gomp/target-simd-clone-7.c: New. * gcc.dg/gomp/target-simd-clone-8.c: New. * lib/scanoffloadipa.exp: New. libgomp/ChangeLog: * testsuite/lib/libgomp.exp: Load scanoffloadipa.exp library. * testsuite/libgomp.c/target-simd-clone-1.c: New. * testsuite/libgomp.c/target-simd-clone-2.c: New. * testsuite/libgomp.c/target-simd-clone-3.c: New.
2022-11-24Remove ASSERT_EXPR.Aldy Hernandez1-2/+1
This removes all uses of ASSERT_EXPR except the internal one in ipa-*. gcc/ChangeLog: * doc/gimple.texi: Remove ASSERT_EXPR references. * fold-const.cc (tree_expr_nonzero_warnv_p): Same. (fold_binary_loc): Same. (tree_expr_nonnegative_warnv_p): Same. * gimple-array-bounds.cc (get_base_decl): Same. * gimple-pretty-print.cc (dump_unary_rhs): Same. * gimple.cc (get_gimple_rhs_num_ops): Same. * pointer-query.cc (handle_ssa_name): Same. * tree-cfg.cc (verify_gimple_assign_single): Same. * tree-pretty-print.cc (dump_generic_node): Same. * tree-scalar-evolution.cc (scev_dfs::follow_ssa_edge_expr):Same. (interpret_rhs_expr): Same. * tree-ssa-operands.cc (operands_scanner::get_expr_operands): Same. * tree-ssa-propagate.cc (substitute_and_fold_dom_walker::before_dom_children): Same. * tree-ssa-threadedge.cc: Same. * tree-vrp.cc (overflow_comparison_p): Same. * tree.def (ASSERT_EXPR): Add note. * tree.h (ASSERT_EXPR_VAR): Remove. (ASSERT_EXPR_COND): Remove. * vr-values.cc (simplify_using_ranges::vrp_visit_cond_stmt): Remove comment.
2022-11-24Remove unused legacy VRP code.Aldy Hernandez1-10/+0
Removes unused legacy VRP code. The legacy mode in value_range's is still around, as it can't be trivially deleted. With this patch vr-values.cc melts away to simplify_using_ranges, but I have avoided any renaming of actual files, since we have plans for consolidation of other folding with ranges for the next release. gcc/ChangeLog: * doc/invoke.texi: Remove docs for max-vrp-switch-assertions, vrp1-mode, and vrp2-mode. * params.opt: Same. * range-op.cc (masked_increment): Move from tree-vrp.cc. * tree-vrp.cc (class live_names): Remove. (live_names::init_bitmap_if_needed): Remove. (live_names::block_has_live_names_p): Remove. (live_names::clear_block): Remove. (live_names::merge): Remove. (live_names::set): Remove. (live_names::clear): Remove. (live_names::live_names): Remove. (live_names::~live_names): Remove. (live_names::live_on_block_p): Remove. (live_names::live_on_edge_p): Remove. (get_single_symbol): Make static. (build_symbolic_expr): Remove. (adjust_symbolic_bound): Remove. (combine_bound): Remove. (set_value_range_with_overflow): Remove. (extract_range_from_pointer_plus_expr): Remove. (extract_range_from_plus_minus_expr): Remove. (drop_undefines_to_varying): Remove. (range_fold_binary_symbolics_p): Remove. (range_fold_unary_symbolics_p): Remove. (range_fold_binary_expr): Remove. (infer_value_range): Remove. (dump_assert_info): Remove. (dump_asserts_info): Remove. (add_assert_info): Remove. (extract_code_and_val_from_cond_with_ops): Remove. (masked_increment): Move to range-op.cc. (register_edge_assert_for_2): Remove. (find_case_label_index): Remove. (find_case_label_range): Remove. (register_edge_assert_for_1): Remove. (is_masked_range_test): Remove. (register_edge_assert_for): Remove. (stmt_interesting_for_vrp): Remove. (struct case_info): Remove. (struct assert_locus): Remove. (class vrp_asserts): Remove. (vrp_asserts::build_assert_expr_for): Remove. (vrp_asserts::dump): Remove. (vrp_asserts::register_new_assert_for): Remove. (vrp_asserts::finish_register_edge_assert_for): Remove. (vrp_asserts::find_conditional_asserts): Remove. (vrp_asserts::compare_case_labels): Remove. (vrp_asserts::find_switch_asserts): Remove. (vrp_asserts::find_assert_locations_in_bb): Remove. (vrp_asserts::find_assert_locations): Remove. (vrp_asserts::process_assert_insertions_for): Remove. (vrp_asserts::compare_assert_loc): Remove. (vrp_asserts::process_assert_insertions): Remove. (vrp_asserts::insert_range_assertions): Remove. (vrp_asserts::all_imm_uses_in_stmt_or_feed_cond): Remove. (vrp_asserts::remove_range_assertions): Remove. (class vrp_prop): Remove. (vrp_prop::initialize): Remove. (enum ssa_prop_result): Remove. (vrp_prop::visit_stmt): Remove. (vrp_prop::visit_phi): Remove. (vrp_prop::finalize): Remove. (class vrp_folder): Remove. (vrp_folder::fold_predicate_in): Remove. (vrp_folder::fold_stmt): Remove. (vrp_folder::simplify_casted_conds): Remove. (execute_vrp): Remove. * tree-vrp.h (struct assert_info): Remove. (register_edge_assert_for): Remove. (stmt_interesting_for_vrp): Remove. (infer_value_range): Remove. (get_single_symbol): Remove. (masked_increment): Remove. (execute_ranger_vrp): Remove. * vr-values.cc (set_value_range_to_nonnegative): Remove. (set_value_range_to_truthvalue): Remove. (vr_values::get_lattice_entry): Remove. (vr_values::get_value_range): Remove. (vr_values::range_of_expr): Remove. (vr_values::value_of_expr): Remove. (vr_values::value_on_edge): Remove. (vr_values::value_of_stmt): Remove. (vr_values::set_def_to_varying): Remove. (vr_values::set_defs_to_varying): Remove. (vr_values::update_value_range): Remove. (symbolic_range_based_on_p): Remove. (gimple_assign_nonzero_p): Remove. (gimple_stmt_nonzero_p): Remove. (vr_values::vrp_stmt_computes_nonzero): Remove. (vr_values::op_with_constant_singleton_value_range): Remove. (vr_values::extract_range_for_var_from_comparison_expr): Remove. (vr_values::extract_range_from_assert): Remove. (vr_values::extract_range_from_ssa_name): Remove. (vr_values::extract_range_from_binary_expr): Remove. (vr_values::extract_range_from_unary_expr): Remove. (vr_values::extract_range_from_cond_expr): Remove. (vr_values::extract_range_from_comparison): Remove. (vr_values::extract_range_from_ubsan_builtin): Remove. (vr_values::extract_range_basic): Remove. (vr_values::extract_range_from_assignment): Remove. (vr_values::adjust_range_with_scev): Remove. (vr_values::dump): Remove. (vr_values::vr_values): Remove. (vr_values::~vr_values): Remove. (vrp_valueize): Remove. (vrp_valueize_1): Remove. (get_output_for_vrp): Remove. (vr_values::vrp_visit_assignment_or_call): Remove. (simplify_using_ranges::vrp_evaluate_conditional): Remove. (vr_values::vrp_visit_switch_stmt): Remove. (vr_values::extract_range_from_stmt): Remove. (vr_values::extract_range_from_phi_node): Remove. (simplify_using_ranges::fold_cond): Add FIXME note. (vr_values::set_vr_value): Remove. (vr_values::swap_vr_value): Remove. * vr-values.h (class vr_values): Remove. (get_output_for_vrp): Remove.
2022-11-23doc: -Wdelete-non-virtual-dtor supersedes -Wnon-virtual-dtorJonathan Wakely1-0/+3
The newer -Wdelete-non-virtual-dtor has no false positives and fewer bugs. There is very little reason to use -Wnon-virtual-dtor instead. gcc/ChangeLog: * doc/invoke.texi (C++ Dialect Options): Recommend using -Wdelete-non-virtual-dtor instead of -Wnon-virtual-dtor.
2022-11-22Revert "configure: Implement --enable-host-pie"Marek Polacek1-14/+2
This reverts commit 251c72a68af3a8b0638705b73ef120ffdf0053eb.
2022-11-22Revert "configure: Implement --enable-host-bind-now"Marek Polacek1-6/+0
This reverts commit 258d7149f92f19380c9f7763618d62408c064e60.
2022-11-22configure: Implement --enable-host-bind-nowMarek Polacek1-0/+6
As promised in the --enable-host-pie patch, this patch adds another configure option, --enable-host-bind-now, which adds -z now when linking the compiler executables in order to extend hardening. BIND_NOW with RELRO allows the GOT to be marked RO; this prevents GOT modification attacks. This option does not affect linking of target libraries; you can use LDFLAGS_FOR_TARGET=-Wl,-z,relro,-z,now to enable RELRO/BIND_NOW. c++tools/ChangeLog: * configure.ac (--enable-host-bind-now): New check. * configure: Regenerate. gcc/ChangeLog: * configure.ac (--enable-host-bind-now): New check. Add -Wl,-z,now to LD_PICFLAG if --enable-host-bind-now. * configure: Regenerate. * doc/install.texi: Document --enable-host-bind-now. lto-plugin/ChangeLog: * configure.ac (--enable-host-bind-now): New check. Link with -z,now. * configure: Regenerate.
2022-11-22configure: Implement --enable-host-pieMarek Polacek1-2/+14
This patch implements the --enable-host-pie configure option which makes the compiler executables PIE. This can be used to enhance protection against ROP attacks, and can be viewed as part of a wider trend to harden binaries. It is similar to the option --enable-host-shared, except that --e-h-s won't add -shared to the linker flags whereas --e-h-p will add -pie. It is different from --enable-default-pie because that option just adds an implicit -fPIE/-pie when the compiler is invoked, but the compiler itself isn't PIE. Since r12-5768-gfe7c3ecf, PCH works well with PIE, so there are no PCH regressions. When building the compiler, the build process may use various in-tree libraries; these need to be built with -fPIE so that it's possible to use them when building a PIE. For instance, when --with-included-gettext is in effect, intl object files must be compiled with -fPIE. Similarly, when building in-tree gmp, isl, mpfr and mpc, they must be compiled with -fPIE. I plan to add an option to link with -Wl,-z,now. ChangeLog: * Makefile.def: Pass $(PICFLAG) to AM_CFLAGS for gmp, mpfr, mpc, and isl. * Makefile.in: Regenerate. * Makefile.tpl: Set PICFLAG. * configure.ac (--enable-host-pie): New check. Set PICFLAG after this check. * configure: Regenerate. c++tools/ChangeLog: * Makefile.in: Rename PIEFLAG to PICFLAG. Set LD_PICFLAG. Use it. Use pic/libiberty.a if PICFLAG is set. * configure.ac (--enable-default-pie): Set PICFLAG instead of PIEFLAG. (--enable-host-pie): New check. * configure: Regenerate. fixincludes/ChangeLog: * Makefile.in: Set and use PICFLAG and LD_PICFLAG. Use the "pic" build of libiberty if PICFLAG is set. * configure.ac: * configure: Regenerate. gcc/ChangeLog: * Makefile.in: Set LD_PICFLAG. Use it. Set enable_host_pie. Remove NO_PIE_CFLAGS and NO_PIE_FLAG. Pass LD_PICFLAG to ALL_LINKERFLAGS. Use the "pic" build of libiberty if --enable-host-pie. * configure.ac (--enable-host-shared): Don't set PICFLAG here. (--enable-host-pie): New check. Set PICFLAG and LD_PICFLAG after this check. * configure: Regenerate. * doc/install.texi: Document --enable-host-pie. gcc/d/ChangeLog: * Make-lang.in: Remove NO_PIE_CFLAGS. intl/ChangeLog: * Makefile.in: Use @PICFLAG@ in COMPILE as well. * configure.ac (--enable-host-shared): Don't set PICFLAG here. (--enable-host-pie): New check. Set PICFLAG after this check. * configure: Regenerate. libcody/ChangeLog: * Makefile.in: Pass LD_PICFLAG to LDFLAGS. * configure.ac (--enable-host-shared): Don't set PICFLAG here. (--enable-host-pie): New check. Set PICFLAG and LD_PICFLAG after this check. * configure: Regenerate. libcpp/ChangeLog: * configure.ac (--enable-host-shared): Don't set PICFLAG here. (--enable-host-pie): New check. Set PICFLAG after this check. * configure: Regenerate. libdecnumber/ChangeLog: * configure.ac (--enable-host-shared): Don't set PICFLAG here. (--enable-host-pie): New check. Set PICFLAG after this check. * configure: Regenerate. libiberty/ChangeLog: * configure.ac: Also set shared when enable_host_pie. * configure: Regenerate. zlib/ChangeLog: * configure.ac (--enable-host-shared): Don't set PICFLAG here. (--enable-host-pie): New check. Set PICFLAG after this check. * configure: Regenerate.
2022-11-21testsuite: Add filter for target socket supportDimitar Dimitrov1-0/+3
The new analyzer tests for sockets are failing on embedded targets. The newlib and avr-libc C libraries do not support sockets. Testing done: - No changes in gcc.sum for x86_64-pc-linux-gnu, with or without this patch. - Filtered cases are now UNSUPPORTED instead of failing on AVR and PRU backends. gcc/ChangeLog: * doc/sourcebuild.texi (sockets): Document new check. gcc/testsuite/ChangeLog: * gcc.dg/analyzer/fd-accept.c: Require sockets. * gcc.dg/analyzer/fd-bind.c: Ditto. * gcc.dg/analyzer/fd-connect.c: Ditto. * gcc.dg/analyzer/fd-datagram-socket.c: Ditto. * gcc.dg/analyzer/fd-glibc-byte-stream-connection-server.c: Ditto. * gcc.dg/analyzer/fd-glibc-byte-stream-socket.c: Ditto. * gcc.dg/analyzer/fd-glibc-datagram-client.c: Ditto. * gcc.dg/analyzer/fd-glibc-datagram-socket.c: Ditto. * gcc.dg/analyzer/fd-listen.c: Ditto. * gcc.dg/analyzer/fd-manpage-getaddrinfo-client.c: Ditto. * gcc.dg/analyzer/fd-mappage-getaddrinfo-server.c: Ditto. * gcc.dg/analyzer/fd-socket-meaning.c: Ditto. * gcc.dg/analyzer/fd-socket-misuse.c: Ditto. * gcc.dg/analyzer/fd-stream-socket-active-open.c: Ditto. * gcc.dg/analyzer/fd-stream-socket-passive-open.c: Ditto. * gcc.dg/analyzer/fd-stream-socket.c: Ditto. * gcc.dg/analyzer/fd-symbolic-socket.c: Ditto. * lib/target-supports.exp (check_effective_target_sockets): New check. Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
2022-11-18c++: implement P1492 contractsJeff Chapman II1-0/+79
Implement the P1492 versions of contracts, along with extensions that support the emulation of N4820 and other proposals. This implementation assigns a concrete semantic (one of: ignore, assume, enforce, or observe) to each contract attribute depending on its labels and configuration options. Co-authored-by: Andrew Sutton <asutton@lock3software.com> Co-authored-by: Andrew Marmaduke <amarmaduke@lock3software.com> Co-authored-by: Michael Lopez <mlopez@lock3software.com> Co-authored-by: Jason Merrill <jason@redhat.com> gcc/ChangeLog: * doc/invoke.texi: Document contracts flags. gcc/c-family/ChangeLog: * c.opt: Add contracts flags. * c-cppbuiltin.cc (c_cpp_builtins): Add contracts feature-test macros. gcc/cp/ChangeLog: * cp-tree.h (enum cp_tree_index): Add CPTI_PSEUDO_CONTRACT_VIOLATION. (pseudo_contract_violation_type): New macro. (struct saved_scope): Add x_processing_contract_condition. (processing_contract_condition): New macro. (comparing_override_contracts): New variable decl. (find_contract): New inline. (set_decl_contracts): New inline. (get_contract_semantic): New inline. (set_contract_semantic): New inline. * constexpr.cc (cxx_eval_assert): Split out from... (cxx_eval_internal_function): ...here. (cxx_eval_constant_expression): Use it for contracts. (potential_constant_expression_1): Handle contracts. * cp-gimplify.cc (cp_genericize_r): Handle contracts. * cp-objcp-common.cc (cp_tree_size): Handle contracts. (cp_common_init_ts): Handle contracts. (cp_handle_option): Handle contracts. * decl.cc (duplicate_decls): Handle contracts. (check_tag_decl): Check for bogus contracts. (start_decl): Check flag_contracts. (grokfndecl): Call rebuild_postconditions. (grokdeclarator): Handle contract attributes. (start_preparsed_function): Call start_function_contracts. (finish_function): Call finish_function_contracts. * decl2.cc (cp_check_const_attributes): Skip contracts. (comdat_linkage): Handle outlined contracts. * error.cc (dump_type): Handle null TYPE_IDENTIFIER. * g++spec.cc (EXPERIMENTAL): New macro. (lang_specific_driver): Add -lstdc++exp if -fcontracts. * mangle.cc (write_encoding): Handle outlined contracts. * module.cc (trees_out::fn_parms_init): Handle outlined contracts. (trees_in::fn_parms_init): Likewise. (check_mergeable_decl): Likewise. (module_state_config::get_dialect): Record -fcontracts. * parser.h (struct cp_unparsed_functions_entry): Add contracts. * parser.cc (unparsed_contracts): New macro. (push_unparsed_function_queues): Adjust. (contract_attribute_p): New. (cp_parser_statement): Check contracts. (cp_parser_decl_specifier_seq): Handle contracts. (cp_parser_skip_to_closing_square_bracket): Split out... (cp_parser_skip_up_to_closing_square_bracket): ...this fn. (cp_parser_class_specifier): Do contract late parsing. (cp_parser_class_head): Check contracts. (cp_parser_contract_role): New. (cp_parser_contract_mode_opt): New. (find_error, contains_error_p): New. (cp_parser_contract_attribute_spec): New. (cp_parser_late_contract_condition): New. (cp_parser_std_attribute_spec): Handle contracts. (cp_parser_save_default_args): Also save contracts. * pt.cc (register_parameter_specializations): No longer static. (register_local_identity): New. (check_explicit_specialization): Call remove_contract_attributes. (tsubst_contract, tsubst_contract_attribute): New. (tsubst_contract_attributes): New. (tsubst_attribute): Add comment. (tsubst_copy): Also allow parm when processing_contract_condition. (tsubst_expr): Handle contracts. (regenerate_decl_from_template): Handle contracts. * search.cc (check_final_overrider): Compare contracts. * semantics.cc (set_cleanup_locs): Skip POSTCONDITION_STMT. (finish_non_static_data_member): Check contracts. (finish_this_expr): Check contracts. (process_outer_var_ref): Handle contracts. (finish_id_expression_1): Handle contracts. (apply_deduced_return_type): Adjust contracts. * tree.cc (handle_contract_attribute): New. (get_innermost_component, is_this_expression): New. (comparing_this_references): New. (equivalent_member_references): New. (cp_tree_equal): Check it. * typeck.cc (check_return_expr): Apply contracts. * Make-lang.in: Add contracts.o. * config-lang.in: Add contracts.cc. * cp-tree.def (ASSERTION_STMT, PRECONDITION_STMT) (POSTCONDITION_STMT): New. * contracts.h: New file. * contracts.cc: New file. gcc/testsuite/ChangeLog: * g++.dg/modules/modules.exp: Pass dg-options to link command. * lib/g++.exp: Add -L for libstdc++exp.a. * g++.dg/contracts/backtrace_handler/assert_fail.cpp: New test. * g++.dg/contracts/backtrace_handler/handle_contract_violation.cpp: New test. * g++.dg/contracts/contracts-access1.C: New test. * g++.dg/contracts/contracts-assume1.C: New test. * g++.dg/contracts/contracts-assume2.C: New test. * g++.dg/contracts/contracts-assume3.C: New test. * g++.dg/contracts/contracts-assume4.C: New test. * g++.dg/contracts/contracts-assume5.C: New test. * g++.dg/contracts/contracts-assume6.C: New test. * g++.dg/contracts/contracts-comdat1.C: New test. * g++.dg/contracts/contracts-config1.C: New test. * g++.dg/contracts/contracts-constexpr1.C: New test. * g++.dg/contracts/contracts-constexpr2.C: New test. * g++.dg/contracts/contracts-constexpr3.C: New test. * g++.dg/contracts/contracts-conversion1.C: New test. * g++.dg/contracts/contracts-ctor-dtor1.C: New test. * g++.dg/contracts/contracts-ctor-dtor2.C: New test. * g++.dg/contracts/contracts-cv1.C: New test. * g++.dg/contracts/contracts-deduced1.C: New test. * g++.dg/contracts/contracts-deduced2.C: New test. * g++.dg/contracts/contracts-friend1.C: New test. * g++.dg/contracts/contracts-ft1.C: New test. * g++.dg/contracts/contracts-ignore1.C: New test. * g++.dg/contracts/contracts-ignore2.C: New test. * g++.dg/contracts/contracts-large-return.C: New test. * g++.dg/contracts/contracts-multiline1.C: New test. * g++.dg/contracts/contracts-multiple-inheritance1.C: New test. * g++.dg/contracts/contracts-multiple-inheritance2.C: New test. * g++.dg/contracts/contracts-nested-class1.C: New test. * g++.dg/contracts/contracts-nested-class2.C: New test. * g++.dg/contracts/contracts-nocopy1.C: New test. * g++.dg/contracts/contracts-override.C: New test. * g++.dg/contracts/contracts-post1.C: New test. * g++.dg/contracts/contracts-post2.C: New test. * g++.dg/contracts/contracts-post3.C: New test. * g++.dg/contracts/contracts-post4.C: New test. * g++.dg/contracts/contracts-post5.C: New test. * g++.dg/contracts/contracts-post6.C: New test. * g++.dg/contracts/contracts-pre1.C: New test. * g++.dg/contracts/contracts-pre10.C: New test. * g++.dg/contracts/contracts-pre2.C: New test. * g++.dg/contracts/contracts-pre2a1.C: New test. * g++.dg/contracts/contracts-pre2a2.C: New test. * g++.dg/contracts/contracts-pre3.C: New test. * g++.dg/contracts/contracts-pre4.C: New test. * g++.dg/contracts/contracts-pre5.C: New test. * g++.dg/contracts/contracts-pre6.C: New test. * g++.dg/contracts/contracts-pre7.C: New test. * g++.dg/contracts/contracts-pre9.C: New test. * g++.dg/contracts/contracts-redecl1.C: New test. * g++.dg/contracts/contracts-redecl2.C: New test. * g++.dg/contracts/contracts-redecl3.C: New test. * g++.dg/contracts/contracts-redecl4.C: New test. * g++.dg/contracts/contracts-redecl5.C: New test. * g++.dg/contracts/contracts-redecl6.C: New test. * g++.dg/contracts/contracts-redecl7.C: New test. * g++.dg/contracts/contracts-redecl8.C: New test. * g++.dg/contracts/contracts-tmpl-attr1.C: New test. * g++.dg/contracts/contracts-tmpl-spec1.C: New test. * g++.dg/contracts/contracts-tmpl-spec2.C: New test. * g++.dg/contracts/contracts-tmpl-spec3.C: New test. * g++.dg/contracts/contracts1.C: New test. * g++.dg/contracts/contracts10.C: New test. * g++.dg/contracts/contracts11.C: New test. * g++.dg/contracts/contracts12.C: New test. * g++.dg/contracts/contracts13.C: New test. * g++.dg/contracts/contracts14.C: New test. * g++.dg/contracts/contracts15.C: New test. * g++.dg/contracts/contracts16.C: New test. * g++.dg/contracts/contracts17.C: New test. * g++.dg/contracts/contracts18.C: New test. * g++.dg/contracts/contracts19.C: New test. * g++.dg/contracts/contracts2.C: New test. * g++.dg/contracts/contracts20.C: New test. * g++.dg/contracts/contracts22.C: New test. * g++.dg/contracts/contracts24.C: New test. * g++.dg/contracts/contracts25.C: New test. * g++.dg/contracts/contracts3.C: New test. * g++.dg/contracts/contracts35.C: New test. * g++.dg/contracts/contracts4.C: New test. * g++.dg/contracts/contracts5.C: New test. * g++.dg/contracts/contracts6.C: New test. * g++.dg/contracts/contracts7.C: New test. * g++.dg/contracts/contracts8.C: New test. * g++.dg/contracts/contracts9.C: New test. * g++.dg/modules/contracts-1_a.C: New test. * g++.dg/modules/contracts-1_b.C: New test. * g++.dg/modules/contracts-2_a.C: New test. * g++.dg/modules/contracts-2_b.C: New test. * g++.dg/modules/contracts-2_c.C: New test. * g++.dg/modules/contracts-3_a.C: New test. * g++.dg/modules/contracts-3_b.C: New test. * g++.dg/modules/contracts-4_a.C: New test. * g++.dg/modules/contracts-4_b.C: New test. * g++.dg/modules/contracts-4_c.C: New test. * g++.dg/modules/contracts-4_d.C: New test. * g++.dg/modules/contracts-tpl-friend-1_a.C: New test. * g++.dg/modules/contracts-tpl-friend-1_b.C: New test. * g++.dg/contracts/backtrace_handler/Makefile: New test. * g++.dg/contracts/backtrace_handler/README: New test. * g++.dg/contracts/backtrace_handler/example_out.txt: New test. * g++.dg/contracts/backtrace_handler/example_pretty.txt: New test. * g++.dg/contracts/backtrace_handler/prettytrace.sh: New test. * g++.dg/contracts/except_preload_handler/Makefile: New test. * g++.dg/contracts/except_preload_handler/README: New test. * g++.dg/contracts/except_preload_handler/assert_fail.cpp: New test. * g++.dg/contracts/except_preload_handler/handle_contract_violation.cpp: New test. * g++.dg/contracts/noexcept_preload_handler/Makefile: New test. * g++.dg/contracts/noexcept_preload_handler/README: New test. * g++.dg/contracts/noexcept_preload_handler/assert_fail.cpp: New test. * g++.dg/contracts/noexcept_preload_handler/handle_contract_violation.cpp: New test. * g++.dg/contracts/preload_handler/Makefile: New test. * g++.dg/contracts/preload_handler/README: New test. * g++.dg/contracts/preload_handler/assert_fail.cpp: New test. * g++.dg/contracts/preload_handler/handle_contract_violation.cpp: New test. * g++.dg/contracts/preload_nocontinue_handler/Makefile: New test. * g++.dg/contracts/preload_nocontinue_handler/README: New test. * g++.dg/contracts/preload_nocontinue_handler/assert_fail.cpp: New test. * g++.dg/contracts/preload_nocontinue_handler/handle_contract_violation.cpp: New test. * g++.dg/contracts/preload_nocontinue_handler/nocontinue.cpp: New test.
2022-11-18libcpp: Avoid remapping filenames within directivesRichard Purdie1-1/+2
Code such as: #include __FILE__ can interact poorly with the *-prefix-map options when cross compiling. In general you're after to remap filenames for use in target context but the local paths should be used to find include files at compile time. Ingoring filename remapping for directives allows avoiding such failures. Fix this to improve such usage and then document this against file-prefix-map (referenced by the other *-prefix-map options) to make the behaviour clear and defined. libcpp/ChangeLog: * macro.cc (_cpp_builtin_macro_text): Don't remap filenames within directives. gcc/ChangeLog: * doc/invoke.texi: Document prefix-maps don't affect directives.
2022-11-16c++: P2448 - Relaxing some constexpr restrictions [PR106649]Marek Polacek1-1/+27
This patch implements C++23 P2448, which lifts more restrictions on the constexpr keyword. It's effectively going the way of being just a hint (hello, inline!). This gist is relatively simple: in C++23, a constexpr function's return type/parameter type doesn't have to be a literal type; and you can have a constexpr function for which no invocation satisfies the requirements of a core constant expression. For example, void f(int& i); // not constexpr constexpr void g(int& i) { f(i); // unconditionally calls a non-constexpr function } is now OK, even though there isn't an invocation of 'g' that would be a constant expression. Maybe 'f' will be made constexpr soon, or maybe this depends on the version of C++ used, and similar. The patch is unfortunately not that trivial. The important bit is to use the new require_potential_rvalue_constant_expression_fncheck in maybe_save_constexpr_fundef (and where appropriate). It has a new flag that says that we're checking the body of a constexpr function, and in that case it's OK to find constructs that aren't a constant expression. Since it's useful to be able to check for problematic constructs even in C++23, this patch implements a new warning, -Winvalid-constexpr, which is a pedwarn turned on by default in C++20 and earlier, and which can be turned on in C++23 as well, in which case it's an ordinary warning. This I implemented by using the new function constexpr_error, used in p_c_e_1 and friends. (In some cases I believe fundef_p will be always false (= hard error), but it made sense to me to be consistent and use constexpr_error throughout p_c_e_1.) While working on this I think I found a bug, see constexpr-nonlit15.C and <https://gcc.gnu.org/PR107598>. This patch doesn't address that. This patch includes changes to diagnose the problem if the user doesn't use -Winvalid-constexpr and calls a constexpr function that in fact isn't constexpr-ready yet: maybe_save_constexpr_fundef registers the function if warn_invalid_constexpr is 0 and explain_invalid_constexpr_fn then gives the diagnostic. PR c++/106649 gcc/c-family/ChangeLog: * c-cppbuiltin.cc (c_cpp_builtins): Update value of __cpp_constexpr for C++23. * c-opts.cc (c_common_post_options): Set warn_invalid_constexpr depending on cxx_dialect. * c.opt (Winvalid-constexpr): New option. gcc/cp/ChangeLog: * constexpr.cc (constexpr_error): New function. (is_valid_constexpr_fn): Use constexpr_error. (maybe_save_constexpr_fundef): Call require_potential_rvalue_constant_expression_fncheck rather than require_potential_rvalue_constant_expression. Register the function if -Wno-invalid-constexpr was specified. (explain_invalid_constexpr_fn): Don't return early if a function marked 'constexpr' that isn't actually a constant expression was called. (non_const_var_error): Add a bool parameter. Use constexpr_error. (inline_asm_in_constexpr_error): Likewise. (cxx_eval_constant_expression): Adjust calls to non_const_var_error and inline_asm_in_constexpr_error. (potential_constant_expression_1): Add a bool parameter. Use constexpr_error. (require_potential_rvalue_constant_expression_fncheck): New function. * cp-tree.h (require_potential_rvalue_constant_expression_fncheck): Declare. * method.cc (struct comp_info): Call require_potential_rvalue_constant_expression_fncheck rather than require_potential_rvalue_constant_expression. gcc/ChangeLog: * doc/invoke.texi: Document -Winvalid-constexpr. gcc/testsuite/ChangeLog: * g++.dg/cpp0x/constexpr-ctor2.C: Expect an error in c++20_down only. * g++.dg/cpp0x/constexpr-default-ctor.C: Likewise. * g++.dg/cpp0x/constexpr-diag3.C: Likewise. * g++.dg/cpp0x/constexpr-ex1.C: Likewise. * g++.dg/cpp0x/constexpr-friend.C: Likewise. * g++.dg/cpp0x/constexpr-generated1.C: Likewise. * g++.dg/cpp0x/constexpr-ice5.C: Likewise. * g++.dg/cpp0x/constexpr-ice6.C: Likewise. * g++.dg/cpp0x/constexpr-memfn1.C: Likewise. * g++.dg/cpp0x/constexpr-neg2.C: Likewise. * g++.dg/cpp0x/constexpr-non-const-arg.C: Likewise. * g++.dg/cpp0x/constexpr-reinterpret1.C: Likewise. * g++.dg/cpp0x/pr65327.C: Likewise. * g++.dg/cpp1y/constexpr-105050.C: Likewise. * g++.dg/cpp1y/constexpr-89285-2.C: Likewise. * g++.dg/cpp1y/constexpr-89285.C: Likewise. * g++.dg/cpp1y/constexpr-89785-2.C: Likewise. * g++.dg/cpp1y/constexpr-neg1.C: Likewise. * g++.dg/cpp1y/constexpr-nsdmi7b.C: Likewise. * g++.dg/cpp1y/constexpr-throw.C: Likewise. * g++.dg/cpp23/constexpr-nonlit3.C: Remove dg-error. * g++.dg/cpp23/constexpr-nonlit6.C: Call the test functions. * g++.dg/cpp23/feat-cxx2b.C: Adjust the expected value of __cpp_constexpr. * g++.dg/cpp2a/consteval3.C: Remove dg-error. * g++.dg/cpp2a/constexpr-new7.C: Expect an error in c++20_down only. * g++.dg/cpp2a/constexpr-try5.C: Remove dg-error. * g++.dg/cpp2a/spaceship-constexpr1.C: Expect an error in c++20_down only. * g++.dg/cpp2a/spaceship-eq3.C: Likewise. * g++.dg/diagnostic/constexpr1.C: Remove dg-error. * g++.dg/gomp/pr79664.C: Use -Winvalid-constexpr -pedantic-errors. * g++.dg/ubsan/vptr-4.C: Likewise. * g++.dg/cpp23/constexpr-nonlit10.C: New test. * g++.dg/cpp23/constexpr-nonlit11.C: New test. * g++.dg/cpp23/constexpr-nonlit12.C: New test. * g++.dg/cpp23/constexpr-nonlit13.C: New test. * g++.dg/cpp23/constexpr-nonlit14.C: New test. * g++.dg/cpp23/constexpr-nonlit15.C: New test. * g++.dg/cpp23/constexpr-nonlit16.C: New test. * g++.dg/cpp23/constexpr-nonlit8.C: New test. * g++.dg/cpp23/constexpr-nonlit9.C: New test.
2022-11-16doc: fix description of -mrelax-cmpxchg-loop [PR 107676]Alexander Monakov1-4/+5
gcc/ChangeLog: PR target/107676 * doc/invoke.texi (-mrelax-cmpxchg-loop): Reword description.
2022-11-16doc: invoke: pru/riscv: Fix option list formattingChristoph Müllner1-3/+3
This patch fixes a wrong placed closing bracket in the RISC-V option list and an unneeded @gol in the PRU option list in invoke.texi. gcc/ChangeLog: * doc/invoke.texi: Fix PRU/RISC-V option list formatting.