cleaned up makefiles a bit
basetypes.f90_tpp: extended Callback_itf by type(c_ptr) argument
some minor fixes in python binding
forked subproject fortran => libadt
dynamic_string.f90: added operator interfaces
dynamic_string: added interface cptr
dynamic_string: fixed initialization in cptr, made delete setting len to 0
generic_ref: integrated TypeInfo
refgen.py: initial version of GenericRef-preprocessor
Makefile: reworked target rules for easy testing
refgen.py:
expanded TypeReference gref by refgen.py
dynamic_string.f90: made type Attribute private
var_item.f90: rework of var_item - step 1 - still a lot to do
ref_status.fpp / dynamic_string.f90 / var_item.f90:
dynamic_string.f90: changed attribute order: setting hardness flag as first member enables to set it without type layout
generic_list.f90: added module for porting
generic_ref.f90 / refgen.py:
porting and testing on linux 64bit:
abstract_list.f90 / Makefile:
refgen.py, dynamic_string.f90, generic_ref.f90:
reworked string and buffer assignment to avoid bound exceeds while getting the pointer to zero-length arrays.
Makefile: changed preprocessor flag TEST to distinguish between modules
dynamic_string.f90, generic_ref.f90, var_item.f90:
abstract_list.f90, test_abstract_list.f90:
updated Makefile
generic_ref.f90:
dynamic_string.f90, generic_ref.f90, var_item.f90:
dynamic_string.f90, test_dynamic_string.f90:
In order to get rid of DynamicString dependency in GenericRef, we need to
added missing include file
updated Makefile for building target alist
renamed definition of type TypeInfo to TypeInfo_t
base_string.f90, dynamic_string.f90:
base_string.f90, dynamic_string.f90:
fixed name ambiguity that confused gfortran
type_info.f90:
test_type_references.f90.rg => test_type_references.f90.tpp
dynamic_string.f90.tpp:
fixed inportability at checking for line ending
typegen.py, generic_ref.f90.tpp:
generic_ref.f90.tpp:
typegen.py:
type_info.f90:
type_info.f90, typegen.py:
renamed type c_ptr => c_void_ptr, since ifort obviously mixed it up with iso_c_binding's c_ptr and complained about an undefined type ...
moved ref_status.fpp => include/adt/ref_status.fpp
updated visual studio project
base_types.f90.tpp:
added some iterator handling to abstract_list (not finished yet!)
extended visual studio project for platform x64
added some iterator handling to abstract_list (not finished yet!)
made use of real*16 / complex*32 configurable, by preprocessor flag VARITEM_REAL16
some further work on abstract list
abstract_list.f90.tpp:
prepared type_info and typegen.py for supporting object cloning
abstract_list.f90.tpp, test_abstract_list.f90
typegen.py, *.tpp:
abstract_list.f90.tpp: added range insert via iterators (TODO: check for consistency: end() vs back())
typegen.py:
reworked instance initialization
typegen.py:
type_info.f90:
minor changes to make gfortran happy:
generic_ref.f90.tpp, typegen.py:
var_item.f90.tpp: allow to put VarItems into abstract lists.
extended generic_ref to store refstatus
first steps for reworking hash_map
some minor fixes:
imported hash code module from fortran project.
further work on hash_map
For some reason, dynamic_string has to be used before using abstract_list to make this example work with ifort version 14.0.1.
hash_map.f90.tpp:
abstract_list.f90.tpp:
abstract_list.f90.tpp:
stash-rework of abstract_list
abstract_list.f90.tpp:
abstract_list.f90.tpp, typegen.py:
typegen.py:
hash_map.f90.tpp:
Makefile: added target for building shared lib
a bit of clean up.
separated hash_code routines
added module crc and split implementation by crc_impl
prefix module names by adt_ to let fortran distinguish modules and interfaces
prefixed / renamed module base_types to adt_basetypes
fixed type of passed value - caused segfault on 64 bit
renamed modules / type definitions acording to new naming conventions (not finished)
renamed modules / type definitions acording to new naming conventions (not finished)
compiler issues:
moved generic ref procedures to ref_impl.f90
first steps to move item implementation to separate file item_impl.f90
ref.f90.tpp, ref_impl.f90: added pseudo module to allow private member access
fixed some minor declaration issues to make the linux compilers ifort/gfortran happy
started implementation split for adt_list - still TODO!
made list.f90.tpp, list_impl.f90 compile under gfortran and ifort
updated list exports
basestring.f90, basestring_impl.f90 ref_impl.f90: naming cleanup
fixed use statements to make gfortan happy
added interface for getting object sizes