* .github/workflows/vm1-ci.yml
* reenabled freebsd builds
* be sure N_CPUS is always set
* show compiler version before build
* contrib/3rd/sqlite3/sqlite3.hbp
* enable -Wno-unknown-warning-option only for CLANG - older GCC versions
does not like it
* use -Wno-stringop-overread instead of -Wno-error=stringop-overread,
Unlike Wno-error=* the unknown -Wno-* options are ignored by most of
old GCC compilers
* .github/workflows/windows-ci.yml
* install freeimage only in 64-bit environment,
it's not available in the 32-bit one
* contrib/3rd/sqlite3/sqlite3.hbp
* use -Wno-unknown-warning-option to pacify problems with old
clang versions which do not understand -Wno-stringop-overread
* contrib/3rd/sqlite3/sqlite3.hbp
* do not enable -Wno-error=stringop-overread C compiler flag in MS-Windows
clang builds and HB_BUILD_TEST='strict' - this C clang version does not
support it
* .github/workflows/windows-ci.yml
* disabled global -Wno-error=... C compiler parameters
* set HB_BUILD_TEST="${{matrix.strictness}}" envvar
* contrib/3rd/sqlite3/sqlite3.hbp
* set -Wno-error=stringop-overread C compiler parameter for GCC builds
when HB_BUILD_TEST='strict'
* contrib/hbzebra/hbzebra.hbp
* set -Wno-error=array-bounds C compiler parameter for GCC builds
when HB_BUILD_TEST='strict'
* debian/compat
* set 10 as compatibility level
* contrib/3rd/sqlite3/sqlite3.c
* contrib/3rd/sqlite3/sqlite3.diff
* do not use noinline function attribute in GCC prior 3.1
* contrib/xhb/xhberror.c
* src/rtl/gtdos/gtdos.c
! fixed format specifiers in HB_TRACE() messages
* src/common/expropt1.c
* src/rtl/langapi.c
* pass explicitly "(null)" string instead of NULL string pointer
to HB_TRACE() messages, some C compilers can autoinline functions
and generate warning detecting such situation
* src/pp/hbpp.c
* cast revision number to ( HB_ULONG ) to avoid warnings in some
compilers which do not understand %I64u format specifier
* utils/hbmk2/hbmk2.prg
* preffer HB_WITH_* settings then platform native pkg-config,
giving pkg-config precedence breaks cross and custom builds
* config/linux/clang.mk
! fixed rule for dynamic library
* src/3rd/png/Makefile
+ added -DPNG_ARM_NEON_OPT=0 to build flags
* contrib/3rd/sqlite3/sqlite3.c
* contrib/3rd/sqlite3/sqlite3.diff
! pacified warning
* contrib/gtwvg/gtwvgd.c
* contrib/gtwvg/wvgwing.c
! fixed missing break/return in case statements - please verify it.
* contrib/hbct/dattime3.c
* added #define _DEFAULT_SOURCE necessay in new Linux distors
* contrib/hblzf/3rd/liblzf/liblzf.diff
* contrib/hblzf/3rd/liblzf/lzfP.h
* do not use nested #define in #if statements - some C compilers do not
support it
* contrib/hbssl/bio.c
! tuned #if condition
* contrib/hbmisc/hbeditc.c
* simpliefied for condition and pacified warning
* contrib/hbodbc/hbodbc.hbp
* contrib/sddodbc/sddodbc.hbp
+ added check for iodbc library
* utils/hbmk2/hbmk2.prg
+ added support for clang in android builds
* include/hbdefs.h
+ added check for __BYTE_ORDER__ macro used in some new lib C
implementations
* include/hbapi.h
* include/hbdefs.h
* include/hbstack.h
* include/hbvmpub.h
* src/vm/classes.c
* src/vm/dynsym.c
* src/vm/estack.c
* src/vm/memvars.c
+ extended the size of dynamic symbol table from 65535 to 4294967295.
Adopting class code I decided to keep current algorithm of method indexes
hashing with only some minor modifications. It's very fast anyhow it may
cause noticeable (though static) quite big memory allocation for class
definitions in applications using millions of symbols and which increase
dynamic symbol table at runtime loading new classes dynamically form .hrb,
.dll, .so or other dynamic libraries supported by Harbour. It's random
and rather impossible to exploit situation in real life anyhow I cannot
exclude it so I'd like to report it in ChangeLog. The solution is very
simple, i.e. it's enough to use classic divide et impera algorithm using
symbol numbers to find method definition anyhow it will be slower then
current one and address only very seldom hypothetical situations so I
decided to not implement it. Such static memory cost begins to be
completely unimportant in the world of 64-bit architectures and extremely
big memory address space.
The modification was sponsored by TRES company.
* src/vm/estack.c
! fixed __mvClear() in MT builds - due to stupid typo GetList variable
was removed in MT programs by CLEAR MEMORY command (__mvClear())
So far noone reported it and I've found it analyzing the code before
increasing symbol table size.
* contrib/hbwin/hbolesrv.c
* updated for new size of dynamic symbol table
* contrib/3rd/sqlite3/sqlite3.hbp
* Disable on Minix (no MAP_SHARED which is needed by SQLite WAL);
(Hopefully a temporary measure.)
* src/rtl/filesys.c
! Disable hb_fsPipeUnblock() on Minix;
makes hb_processRun() work. Thanks to Przemek for the idea.
* .gitignore
+ added test command
! fixed exceptions to be in sync with files in repo
* contrib/3rd/sqlite3/*
* contrib/3rd/sqlite3/sqlite3.hbp
* updated to 3.7.16
* src/3rd/png/*
* src/3rd/png/Makefile
* src/3rd/png/png.dif
* src/3rd/png/pngpriv.h
* updated to 1.6.1
* bin/check.hb
! fixed shrinking of ChangeLog.txt to not result in broken EOLs
! refinements around interactions of EOL checks and fixes
! include Harbour files "hidden" under /3rd/ dirs
* bin/commit.hb
+ set errorlevel, so it can now be used as a git pre-commit hook
(as 'exec hbrun bin/commit' in .gits/hooks/pre-commit)
* contrib/hbexpat/hbexpat.hbc
! fixed expat.hbc detection to actually look for .hbc file not .h
(which is never present)
* utils/hbmk2/hbmk2.prg
+ added depfinish= .hbc directive. It was missing, yet I
was using it in hbexpat.hbc in recent patch, and wondered
why it didn't work
[ the necessity of the whole previous patch is still suspect
though. ]
+ show warning for any .hbc directives that is unknown.
This should avoid above situation nicely.
INCOMPATIBILITY: Thus far all lines with unknown directives
were ignored, now only empty ones or ones that begin with
'#' character (in first column), as documented. Clean your
.hbc files accordingly.
! fixed typo in one help text. Pls retranslate, I hope Transifex
keeps previous texts, but you can find it in next language
update commit, if not.
* package/harb_win.mft
! deleted BOM (detected by check.hb)
* contrib/3rd/sqlite3/sqlite3.hbc
* contrib/3rd/sqlite3/sqlite3.hbp
* contrib/hbbz2/3rd/bz2/bz2.hbc
* contrib/hbbz2/3rd/bz2/bz2.hbp
* contrib/hbexpat/3rd/expat/_hbconf.h
* contrib/hbexpat/3rd/expat/expat.hbc
* contrib/hbexpat/3rd/expat/expat.hbp
* contrib/hbhpdf/3rd/libhpdf/_hbhbpdf.c
* contrib/hbhpdf/3rd/libhpdf/libhpdf.hbc
* contrib/hbhpdf/3rd/libhpdf/libhpdf.hbp
* contrib/hblzf/3rd/liblzf/lzf.hbc
* contrib/hblzf/3rd/liblzf/lzf.hbp
* contrib/hbmlzo/3rd/minilzo/minilzo.hbc
* contrib/hbmlzo/3rd/minilzo/minilzo.hbp
* contrib/hbmxml/3rd/minixml/config.h
* contrib/hbmxml/3rd/minixml/minixml.dif
* contrib/hbmxml/3rd/minixml/mxml.hbc
* contrib/hbmxml/3rd/minixml/mxml.hbp
* contrib/hbmzip/3rd/minizip/minizip.hbc
* contrib/hbmzip/3rd/minizip/minizip.hbp
* contrib/hbxdiff/3rd/libxdiff/_hbconf.h
* contrib/hbxdiff/3rd/libxdiff/xdiff.hbc
* contrib/hbxdiff/3rd/libxdiff/xdiff.hbp
* lib/3rd/win/bcc/Makefile
* lib/3rd/win/mingw/Makefile
! deleted SVN IDs
* rediffed where required