gm2
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gm2] gm2 on gcc-4.7.3 status


From: Gaius Mulley
Subject: [Gm2] gm2 on gcc-4.7.3 status
Date: Wed, 23 Jul 2014 05:20:33 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.4 (gnu/linux)

Hello,

I've just committed some changes and now when running the regression
tests get the following results:

# of expected passes    9518
# of unexpected failures        18

I'd be interested to see how the regression tests behave on other
platforms.

The ChangeLog entries follow below.  The compiler driver 'gm2' program
has been modified and now the libraries are referred to on the command
line by:

  -flibs=iso,pim,ulm,min,log,cor

iso = ISO libraries (including ISO coroutines)
pim = extended m2f libraries based on PIM
ulm = University of Ulm libraries
log = Logitech compatible libraries
cor = PIM coroutine libraries
min = minimal runtime libraries

gm2 can now be built as a cross compiler - a follow up email will give
instructions.  All libraries are now built as per gcc (using libtool and
gm2) - so per target variant.  Hopefully this should erase any previous
32/64 object file collisions, it also means that in the case of a cross
compiler (avr for example) you now get iso,pim,ulm,min,cor,log for each
processor variant (of course it says nothing about whether this is
sensible, but it will try and produce a binary given the configure
results).

Finally it builds cleanly on the arm (Odroid U3) and I've seen the
pge example run perfectly (involves heavy floating point, complex
numbers) on arm.  I'm currently running the regression tests on arm.
I'd like to think a release is imminent

regards,
Gaius




    * fixes to the regression testsuite gm2.exp files to pick up the
      libraries from the new build locations.
    * libgm2/libiso/Makefile.am:  build correct iso version of
      SYSTEM.
    * gm2/gm2.texi:  updated the status of the gcc-4.7 branch of
      gm2.
      Also removed an unnecessary --enable-libgm2 option from the
      documentation.

    * gm2/examples/pge/Makefile:  remove hack rule.
    * libgm2/config.h.in:  rebuilt.
    * libgm2/configure:  rebuilt.
    * libgm2/configure.ac:  test for libc functions.
    * libgm2/libpim/Selective.c:  provide dummy KillSet procedure
      function.

    * gm2/gm2-compiler/M2Range.mod:  CodeWholeNonPos, CodeWholeZero
      assign location before it is used.

    * gm2/Make-lang.in:  overhauled to ensure that target and host
      are
      distinct.
    * gm2/gm2-compiler/M2GCCDeclare.mod:  IsExternal (New procedure
      function).
      FindContext replaces FindTreeScope.  IsGlobal (New procedure
      function).
      DeclareVariable uses IsGlobal, IsExternal and FindContext.
    * gm2/gm2-gcc/init.c:  can now be compiled by a C or C++
      compiler.
    * gm2/gm2-gcc/m2block.c:  new fields to binding_level.
      is_global and
      context.  The compiler now correctly uses a translation_unit
      tree
      node to contain the global variables.  Bug fixes to correct
      the
      context of local variables.  We also ensure that all locals
      are declared.  Added more self checking debugging code.
    * gm2/gm2-gcc/m2block.def:  includeDecl (New procedure
      function).
      GetGlobalContext (New procedure function).
    * gm2/gm2-gcc/m2block.h:  allow m2block.[ch] to be compiled by
      a C or C++ compiler, export GetGlobalContext, finishGlobals,
      and includeDecl.
    * gm2/gm2-gcc/m2builtins.h:  allow m2block.[ch] to be compiled
      by
      a C or C++ compiler.
    * gm2/gm2-gcc/m2convert.h:  allow m2block.[ch] to be compiled by
      a C or C++ compiler.
    * gm2/gm2-gcc/m2decl.c:  simplified and corrected declaration of
      a
      variable.  BuildParameterDeclaration simplified as it only
      handles
      procedure/function parameters and not function/procedure
      types.
    * gm2/gm2-gcc/m2decl.h:  allow m2decl.[ch] to be compiled by
      a C or C++ compiler.
    * gm2/gm2-gcc/m2except.h:  allow m2except.[ch] to be compiled by
      a C or C++ compiler.
 
    * gm2/gm2-gcc/m2expr.h:  allow m2expr.[ch] to be compiled by
      a C or C++ compiler.
    * gm2/gm2-gcc/m2linemap.h:  allow m2linemap.[ch] to be compiled
      by
      a C or C++ compiler.
    * gm2/gm2-gcc/m2misc.h:  allow m2misc.[ch] to be compiled by
      a C or C++ compiler.
    * gm2/gm2-gcc/m2options.h:  allow m2options.[ch] to be compiled
      by
      a C or C++ compiler.
    * gm2/gm2-gcc/m2statement.h:  allow m2statement.[ch] to be
      compiled by
      a C or C++ compiler.
    * gm2/gm2-gcc/m2statement.c:  call cgraph_finalize_function
      whenever
      we finish a function.  Unit at a time change.
    * gm2/gm2-gcc/m2top.h:  allow m2top.[ch] to be compiled by
      a C or C++ compiler.
    * gm2/gm2-gcc/m2type.c:  specifically declares procedure types
      and parameter types.  Corrected a bug with procedure/function
      type declaration.
    * gm2/gm2-gcc/m2type.def:  BuildProcTypeParameterDeclaration
      (New procedure
      function).  BuildEndFunctionType additional parameter.
    * gm2/gm2-gcc/m2type.h:  allow m2type.[ch] to be compiled by
      a C or C++ compiler.
    * gm2/gm2-lang.c:  m2_write_global_declarations (New function).
      gm2_langhook_write_globals for each translation unit write out
      globals.
    * gm2/gm2-libs-pim/Break.c:  corrected #include syntax.
      Reformatted to
      conform to GNU coding standards.
    * gm2/gm2-libs/config-host:  rebuilt.
    * gm2/gm2-libs/config-target:  rebuilt.
    * gm2/gm2-libs/config-target.in:  use GCC_NO_EXECUTABLES.
    * gm2/gm2spec.c:  removed style of libraries, added new location
      of
      libraries and new library names.

   * gm2/m2pp.c:  pl (New function). m2pp_decl_list (New function).
      m2pp_decl_bool (New function).  remember (New function).
      m2pp_translation (New function).  m2pp_module_block (New
      function).
      m2pp_procedure_type modified to understand varargs.
    * gm2/tools-src/createUlmSys:  fixed to test for presence of
      include
      files so that it can be run in a cross compiler for a minimal
      target.
    * gm2/examples/pge/Makefile:  remove rule hack from objects.
    * gm2/gm2-compiler/M2GenGCC.mod:  CodeDivTrunc, FoldDivTrunc,
      CodeDivFloor, FoldDivFloor check operand types and if
      REAL/COMPLEX
      family are used then call BuildRDiv instead.  Fixes a compiler
      error
      exposed by gm2/examples/pge/roots.mod.
      BinaryOperandRealFamily
      (New procedure function).
    * gm2/gm2-gcc/m2expr.c:  m2expr_BuildRDiv (New function).
    * gm2/gm2-gcc/m2expr.def:  m2expr_BuildRDiv (New definition).
    * gm2/gm2-gcc/m2expr.h:  m2expr_BuildRDiv (New prototype).




reply via email to

[Prev in Thread] Current Thread [Next in Thread]