[M3commit] [modula3/cm3] 7a17e0: New package llvmbindings, with LLVM.i3 merged and ...
Rodney Bates
rodney.m.bates at acm.org
Thu Jun 4 22:03:06 CEST 2015
Branch: refs/heads/master
Home: https://github.com/modula3/cm3
Commit: 7a17e0f736a04d3996b0da5ed6431b099772293a
https://github.com/modula3/cm3/commit/7a17e0f736a04d3996b0da5ed6431b099772293a
Author: Rodney Bates <rodney.m.bates at acm.org>
Date: 2015-06-04 (Thu, 04 Jun 2015)
Changed paths:
A m3-sys/llvmbindings/src/.gitignore
A m3-sys/llvmbindings/src/LLVM.i3
A m3-sys/llvmbindings/src/M3Extras.cpp
A m3-sys/llvmbindings/src/M3Extras.h
A m3-sys/llvmbindings/src/Makefile
A m3-sys/llvmbindings/src/README
A m3-sys/llvmbindings/src/m3makefile
Log Message:
-----------
New package llvmbindings, with LLVM.i3 merged and updated to llvm 3.6.1
This new Modula3 package contains Modula3 bindings to selected things in
llvm that are needed to interface to llvm. It contains merges of
various versions of LLVM.i3 and supporting code, and is updated
to llvm 3.6.1, at least for compiling. No testing is done yet.
A procedure binding generally requires code in three files:
1) Modula3 code in a .i3 file, that contains a (usually) zero-thickness
Module3-to-C binding. This is just a PROCEDURE signature in
Modula3 syntax, using types and parameteter modes equivalent to C
types for parameters and results.
2) C code in a .h file, that contains a prototype for a plain C
function. This will be #included by C++ code, but contains 'extern
"C"' so the C++ compiler will generate unmangled link names for its
functions.
3) C++ code in a .cpp file, that contains a wrapper function for
calling a C++ function inside of llvm. This latter is usually a
member function of a class, and also often requires type
conversions to/from llvm's C++-but-not-C types, so the wrapper must
be in C++.
This package supplies 1) for everything needed. The llvm project
supplies Core.h/Core.cpp, inside its source tree, which contain 2) and
3) for a set of functions chosen by llvm's developers. For others,
this package supplies 2) and 3) itself.
Commit: fbffb1a3d230fec8ca943bb0a9a5c556ea7dbf13
https://github.com/modula3/cm3/commit/fbffb1a3d230fec8ca943bb0a9a5c556ea7dbf13
Author: Rodney Bates <rodney.m.bates at acm.org>
Date: 2015-06-04 (Thu, 04 Jun 2015)
Changed paths:
M m3-sys/cminstall/src/config-no-install/NT.common
M m3-sys/cminstall/src/config-no-install/Unix.common
M m3-sys/m3cc/gcc-4.5/gcc/tree.h
M m3-sys/m3cc/gcc-4.6/gcc/tree.h
M m3-sys/m3cc/gcc-4.7/gcc/tree.h
M m3-sys/m3cc/gcc-apple/gcc/tree.h
M m3-sys/m3cc/gcc/gcc/tree.h
M scripts/pkginfo.txt
M scripts/python/make-dist.py
M scripts/python/upgrade.py
Log Message:
-----------
Merge branch 'master' of https://github.com/modula3/cm3
Compare: https://github.com/modula3/cm3/compare/1f5ad3005500...fbffb1a3d230
More information about the M3commit
mailing list