[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gm2] latest cvs changes
From: |
Gaius Mulley |
Subject: |
[Gm2] latest cvs changes |
Date: |
Wed, 10 Apr 2013 15:38:16 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) |
Hi,
here are the latest cvs changes:
* gm2/gm2-lang.c: comment out definition for LANG_HOOKS_GIMPLIFY_EXPR.
* gm2/gm2-compiler/M2ALU.mod: Convert top of stack to Integer type.
* gm2/gm2-compiler/M2GenGCC.mod: ensure that the global scope is in use in
CodeEndFile,
CodeStartDefFile, CodeStartModFile. ConvertForComparison convert pointer
types to
ADDRESS. Fix calls to BuildThrow to use a location initial parameter.
* gm2/gm2-compiler/M2Range.mod: (CodeWholeZero) convert const lit zero into
the same
type as, e.
* gm2/gm2-gcc/m2block.c: added DEBUGGING macro and debugging prints.
* gm2/gm2-gcc/m2convert.c: (m2convert_BuildConvert) added more steps to aid
debugging.
* gm2/gm2-gcc/m2convert.h: (m2convert_BuildConvert) changed parameter names.
* gm2/gm2-gcc/m2except.def: (BuildThrow) added missing initial parameter.
* gm2/gm2-gcc/m2expr.c: (gm2/gm2-gcc/m2expr.c) added conversion between
pointer types for MINUS_EXPR.
* gm2/gm2-gcc/m2statement.c: (m2statement_BuildEndFunctionCode) call
gm2_gimplify_function_node.
* gm2/gm2-gcc/m2treelib.c: (m2treelib_do_jump_if_bit) use m2expr_GetWordZero
rather than m2expr_GetIntegerZero.
* gm2/gm2-gcc/m2type.c: (m2type_InitBaseTypes) call m2expr_init.
with these changes gm2 will now compile most of its base ISO and PIM
libraries. It fails when compiling DynamicStrings.mod and any module
which uses SYSTEM.THROW (exceptions are still broken). Also I suspect
any nested procedure will currently break - on the plus side many
modules now compile with 4.7.1 and the internals of gm2 are much cleaner
(much more rigorous type checking enforced internally - matching PIM and
ISO).
Here is a script which I've generated from my build on a x86_64 Debian
Wheezy system.
#!/bin/bash
mkdir -p GM2
cd GM2/
wget
http://floppsie.comp.glam.ac.uk/download/c/gcc-4.7.1+gm2-cvs-latest.tar.gz
tar zxf gcc-4.7.1+gm2-cvs-latest.tar.gz
sudo apt-get install gcc libgmp-dev libmpfr-dev
sudo apt-get install gcc libgmp-dev libmpc-dev
sudo apt-get install flex
sudo apt-get install libpth-dev
sudo apt-get install make
GCC=4.7.1
mkdir build-${GCC}
cd build-${GCC}
CXXFLAGS=-g BOOT_CFLAGS=-g CFLAGS="-g -gdwarf-2" ../gcc-${GCC}/configure
--prefix=$HOME/opt \
--libexecdir=/usr/lib --enable-shared \
--enable-threads=posix --enable-__cxa_atexit \
--enable-clocale=gnu --enable-languages=c,c++,gm2,fortran \
--disable-multilib --disable-bootstrap # --enable-checking=all
if ! CXXFLAGS=-g BOOT_CFLAGS=-g CFLAGS="-g -gdwarf-2" time make ; then
echo "make failed"
exit 1
fi
regards,
Gaius
- [Gm2] latest cvs changes,
Gaius Mulley <=