* include/extend.api
* include/harbour.hbx
* include/hbdefs.h
* include/hbapi.h
* include/hbvm.h
* include/hbapigt.h
* include/clipdefs.h
- src/pp/pplib3.c
* src/pp/Makefile
* src/vm/hvm.c
* src/rtl/hbtoken.c
* src/rtl/inkey.c
* src/rdd/usrrdd/usrrdd.c
* contrib/hbmysql/hbmysql.hbx
- contrib/hbmysql/mysqlold.c
* contrib/hbmysql/mysql.c
* contrib/hbmysql/hbmysql.hbp
* contrib/hbmysql/mysql.ch
* contrib/hbpgsql/hbpgsql.hbx
* contrib/hbpgsql/postgres.c
* contrib/hbwin/hbwin.hbp
* contrib/hbwin/hbwin.hbx
- contrib/hbwin/legacy.prg
- contrib/hbwin/legacycd.c
- contrib/hbwin/legacyco.c
- contrib/hbwin/legacycp.c
* contrib/hbodbc/hbodbc.hbx
- contrib/hbodbc/odbcold.c
* contrib/hbodbc/odbc.c
* contrib/hbodbc/hbodbc.hbp
* contrib/hbtip/utils.c
* contrib/hbtip/hbtip.hbx
* deleted things marked with HB_LEGACY_LEVEL3, finishing cleanup
job started many years ago.
; this also means that windows.h and os2.h will no longer be
included by Harbour headers, HB_OS_WIN_USED is thus ineffective,
so if someone needs these headers to access system APIs, they
should be manually included in each source file. Some old
hacks have also been removed which disabled some Clipper
compatibility macros/types in compatibility headers (clipdefs.h, *.api),
if someone uses these alongside windows.h/os2.h inclusion, it will
be broken, here the strategy is to move to Harbour types and
Harbour API headers, simply Clipper headers and newer OS headers
are not compatible.
; HB_DONT_DEFINE_BASIC_TYPES is not effective anymore.
; INKEY_RAW is no more, use HB_INKEY_RAW instead.
; NEXTKEY() hidden parameter extension is disabled. Use HB_KEYNEXT()
Harbour alternative which has it.
; Some legacy PP functions are no more.
; hb_vmPushState()/hb_vmPopState() APIs were now permanently deleted.
; __STR*() token handling legacy functions are no more, use native HB_TOKEN*()
ones instead.
; WRITEBHEADER in USRRDD is no more, WRITEDBHEADER is the replacement.
; hbmysql, hbodbc compatibilty and deprecated functions were deleted
; hbwin compatibility functions were deleted. If there is demand, mainly to
help migrating xhb users, they can be readded to xhb lib by interested
developers, now deleted code should be changed to fall back to dummies
on non-Windows builds.
; some deprecated hbpgsql functions were deleted
; hbtip HB_BASE64() is deleted. Use core HB_BASE64ENCODE() instead.
; Anyone affected by above changes has the option to stick with 3.0.x Harbour
versions or to update their source code according to above instructions
(or instructions included in past ChangeLog entries)
; Some fallouts in Harbour build is possible after these changes
* contrib/hbodbc/odbc.c
! Added workaround for OpenWatcom (1.9) missing an entry for
SQLSetStmtAttr() function's wide version (SQLSetStmtAttrW),
while it has it properly present in the header.
The workaround will disable UNICODE for hbodbc lib when
built for win/watcom.
[ I'd appreciate if someone could report this problem
upstream. ]
* contrib/hbodbc/odbc.c
! Variables renamed to reflext their real type.
! More type related cleanups.
! Fixed remaining cases where return buffers
were not initialized to empty string.
* contrib/hbodbc/odbc.c
! Fixed remaining wrappers to not make decisions based on
result returned by C level ODBC function, and always
pass everything back as is.
% Applied minor optimization as a result of above.
! Deprecated SQLEXECUTESCALAR() fixed to initialize buffer
and length before calling C level ODBC function.
! Fixed one double assignment typo from prev commit.
* contrib/hbodbc/odbc.c
! SQLEXECUTESCALAR() marked with HB_LEGACY_LEVEL3. Do no use this
function. It's not a direct ODBC function wrapper and it
internally calls SQLGetData with a fixed SQL_CHAR type, which
is wrong.
! SQLGETDATA() fixed to default some parameters properly (so far
it was checking for zero value instead of looking at Harbour
type). Potentially incompatible change.
! SQLROWCOUNT() fixed to always return value by reference.
(it's not wrapper's job to check success value and act anything
depending on it).
; TOFIX: There are some more wrappers which do that: SQLDESCRIBECOL(),
SQLCOLATTRIBUTES(), SQLGETCONNECTATTR(), SQLGETSTMTATTR().
% SQLROWCOUNT(), SQLGETINFO(), SQLNUMRESULTCOLS(), SQLCOLATTRIBUTE(): Minor optimization.
! SQLGETINFO(), SQLNUMRESULTCOLS(), SQLGETSTMTATTR(), SQLSETCONNECTATTR(),
SQLGETCONNECTATTR(), SQLDESCRIBECOL(): Setting initial value to parameter retrieved by reference.
! SQLDESCRIBECOL(), SQLCOLATTRIBUTE(): fixed to not crash if wrong length is passed.
* contrib/hbodbc/todbc.prg
% TODBC:LoadData() got some minor optimizations.
* TODBC:LoadData() changed to be able to retrieve fields with
length of 256, instead of 64. This is still hack and should
be fixed to retrieve full length.
! TOFIX: TODBC:LoadData() to pull data in its original type
instead of pulling everything as string, then trying
to convert it back to original type.
* src/rtl/dircmd.prg
! Typo in comment.
* config/postinst.hbs
* Changed to only create .hbd documentation file for the
core. This is to ensure separation of components.
* contrib/Makefile
- Deleted old Makefile-based build logic in contrib area,
now this make file does nothing else than passing the
control to make.hbs Harbour script.
* contrib/make.hbs
* contrib/hbpre.hbm
* contrib/hbpost.hbm
% Moved -instpath options to hbpost.hbm to save cmdline length.
% Moved HB_BUILD_SHARED control logic from make.hbs to hbpost.hbm
! -warn option moved to hbpre from hbpost, so libs can override it
(can be important for external code)
+ Will now compile .hbd binary documentation in 'install' phase
and copy it to HB_DOC_INSTALL.
* Internal pathsep cleanup.
! Fixed to accept 'install'/'clean' regardless of casing.
+ Now accepts HB_BUILD_CONTRIBS instead of HB_CONTRIBLIBS
(though old envvar still work for while)
+ Log feedback now show the build action executed.
+ Added more TODOs.
* INSTALL
* Documented the change to HB_BUILD_CONTRIBS from HB_CONTRIBLIBS.
* utils/hbmk2/hbmk2.prg
+ Will now automatically recognize HB_BUILD_NAME envvar and
convert it to -build= cmdline option.
* contrib/hbodbc/todbc.prg
* contrib/hbodbc/odbcold.c
* contrib/hbodbc/odbc.c
* Renamed SQLSTOD to HB_ODBCSTOD
* Renamed SQLSETNUMLEN to HB_ODBCSETNUMLEN.
* Old names are deprecated with HB_LEGACY_LEVEL3.
If you happen to use these function names, pls update to
the new ones ASAP.
* contrib/hbodbc/todbc.prg
* contrib/hbodbc/odbcold.c
* contrib/hbodbc/odbc.c
- Deleted SQLEXTENDEDFETCH() wrapper. The original ODBC
function was in compatibility status since ODBC 3.0 and
it was causing permanent build problems in Harbour, due
to disagreement in parameter widths/types on different
platforms and compiler headers (f.e. on Linux AMD64 C++
mode, POCC and XCC).
INCOMPATIBILITY: This compatibility function was deleted,
use SQLFETCHSCROLL() instead.
* Replaced SQLEXTENDEDFETCH() with SQLFETCHSCROLL() in TODBC
code as recommended by MS.
! Added cast to silence msvc C mode warning.
* config/vxworks/gcc.mk
! Fixed vxworks/gcc HB_BUILD_SHARED=yes link mode.
* contrib/hbodbc/odbc.c
- Deleted compatibility trick which mapped SQL[U]LEN to SQL[U]INTEGER.
The trick is most likely not needed anymore, they were first
introduced in 2007-01-24 10:25 UTC+0100 Przemyslaw Czerpak with
the description 'synced with xhb', next it was extended with the
"U" version in 2008-08-13 03:08 UTC+0200 Viktor Szakats, for
__DMC__ compatibility. We dropped DMC support since.
; Tamas can you pls retest if this fixed the Linux AMD64 build
error in C++ mode?
* src/rtl/gtsys.c
* Made GTCGI the default GT for VxWorks. (GTSTD doesn't work now)
* src/rtl/hbsocket.c
+ Enabled ioctl() calls for VxWorks.
! Worked around 'socklen_t' vs 'int' warnings with VxWorks.
(still remains some 'const char *' and 'caddr_t' vs 'char *
warnings, nothing serious though)
* include/hbthread.h
! Enabled HB_CRITICAL_NEED_INIT for VxWorks. Avoids the compiler
warnings caused by PTHREAD_COND_INITIALIZER having one less
structure member than initialized structure.
MT mode still doesn't work though.
* contrib/hbodbc/odbc.c
+ Added HB_ODBCVER() function to return build-time ODBC version
reported by ODBCVER macro.
* contrib/hbodbc/tests/testodbc.prg
+ Show ODBC version number.
- contrib/hbqt/doc/html
- Deleted. doc dirs now have to abide by the HBDOC rules posted
on the dev list, which means doc may contain (non-empty) language
dirs only. html should be generated by client app or by install
process.
* contrib/hbwin/hbwinole.h
! Patch by Tamas Tevesz, fixing NONAMELESSUNION issue for watcom.
* contrib/hbct/ctnet.c
* contrib/hbtpathy/tpwin.c
* contrib/hbnf/getenvrn.c
! Fixed to disable some functionality on all WinCE platforms.
These were WinCE API functions wrongly declared in
mingwarm/poccarm headers. (thus causing link-time errors
for final apps trying to use these functions)
* contrib/hbwin/win_dlg.c
! Enabled more functionality for WinCE. mingwarm builds
will probably crash due to buggy commdlg.h header.
* src/vm/fm.c
! Fixed to redefine ABORT for all wce/msvcarm targets.
* utils/hbmk2/hbmk2.prg
! Minor typo in recently added help item.
* contrib/gtwvg/gtwvg.h
* contrib/gtwvg/wvggui.h
* contrib/hbwin/win_prn1.c
* contrib/hbwin/win_prn2.c
* contrib/hbwin/win_prn3.c
* contrib/hbwin/win_dlg.c
* contrib/hbodbc/odbc.c
* contrib/rddsql/sddodbc/sddodbc.c
! Fixed to compile with -DWIN32_LEAN_AND_MEAN.
* contrib/hbodbc/odbc.c
* contrib/rddsql/sddodbc/sddodbc.c
! Silenced warnings.
* contrib/rddsql/sddoci/sddoci.c
* contrib/rddsql/sddoci/tests/test1.prg
+ Finished type mapping and value translation.
; Not being an Oracle user, I only have the few sample
tables, so no testing was made with these types.
; TOFIX: decimal position retrieval is currently wrong.
; TOFIX: date/time/timestamp doesn't seem to get through.
* config/win/global.mk
* config/rules.mk
* Moved HB_BUILD_UNICODE handling here for win platform,
to allow disabling it for potential 3rd party libs which
don't support UNICODE mode.
* src/common/hbffind.c
* Formatting.
* contrib/hbodbc/odbc.c
* contrib/rddsql/sddodbc/sddodbc.c
+ Added support for UNICODE mode on non-Windows systems.
This also means that by now HB_TCHAR_* macros aren't used
in non-win/wce code anymore.
NOTE: Since the translation functions have been changed,
now _SET_OSCODEPAGE setting are honored in these
calls. We may change this later to some lib specific cp.
; TOFIX: Warnings are showing up in non-UNICODE mode:
odbc.c:438: warning: pointer targets in passing argument 2 of 'hb_storstr' differ in signedness
Couldn't find an optimal way to pacify them (also in sddodbc).
Can someone help?
* include/hbdefs.h
+ HB_TCHAR_* macros are again only defined for win/wce targets.
This will make sure these won't get used in non-win/wce specific code.
* contrib/hbmysql/tmysql.prg
! Fixed old buggy code which started to throw errors
after introducing strict parameter evaluation in
lower-level code.
For now I replaced the code with old behavior.
Pls make further to replicate original _intent_.
* harbour/contrib/hbodbc/odbc.c
* harbour/contrib/rddsql/sddodbc/odbcdd.c
* synced workarounds for missing in some header files SQL* definitions
* harbour/config/globsh.mk
* harbour/config/instsh.mk
! eliminated COMMAND.COM commands used for DOS shell - I've just tested
that they do not work with pure MS-DOS 6.2 without using $(CMDPREF)
though they works with FreeDOS. Anyhow we can safely eliminate them
using dj-*.exe tools directly without any if ... command.com testing.
It also resolve the problem with IF EXIST <DIR>\NUL which is always
true in some environment, i.e. Novel-NetWare drives.
* contrib/hbodbc/odbc.c
! Eliminated last UNICODE branching, this also fixes
embedded zero chars not being respected in UNICODE mode
in SQLDESCRIBECOL(). Not tested, ODBC users please do,
also someone pls review me.
* ChangeLog
* TODOs/TOFIXes marked as DONE.
* utils/hbmk2/hbmk2.prg
! Fixed to use hb_osPathSeparator() instead of hardcoded
backslash in mingw* init section, as it may also be used
on *nix in cross compilation scenarios.
! Dropped .exe extensions from mingw* init section to also
work on *nix systems.
* Extended xmingw, mingw32ce detection for all *nix systems.
* contrib/hbodbc/odbc.c
! Cast.
* INSTALL
* config/global.cf
* Removed requirement of 3.81 or upper GNU Make, now it's a
recommendation only. If I understand correctly after
2009-05-22 16:28 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
older ones can also be used without parallel build feature.
Lowered minimum version to 3.70.
* contrib/hbodbc/odbc.c
+ Copied dummy HB_TCHAR* macros from odbcdd.c, plus
added dummy HB_TCHAR_CONVFROM().
% Removed separate branches for Windows platform.
Please test it on *nix.
; TODO: Except one. Currently we have no TCHAR macro
which deals with byte strings with lengths.
Przemek, do you think it's possible to add it?
* contrib/rddsql/sddodbc/odbcdd.c
+ Added HB_TCHAR_CONVFROM().
* utils/hbmk2/hbmk2.prg
* -shareable -> -fullshared/-fixshared
+ contrib/hbmysql/mysqlold.c
* contrib/hbmysql/mysql.c
* contrib/hbmysql/Makefile
* Compatibility function names moved to separate file.
+ contrib/hbodbc/odbcold.c
* contrib/hbodbc/odbc.c
* contrib/hbodbc/Makefile
* Compatibility function names moved to separate file.
* contrib/hbwin/win_prt.c
! Applied fix submitted by Alex Strickland. Thank you.
* contrib/hbwin/legacy.c
* contrib/hbwin/win_dll.c
* GETLASTERROR()/SETLASTERROR() moved to legacy.c.
We have WAPI_GETLASTERROR()/WAPI_SETLASTERROR() and
it's recommended to use them instead.
+ XBase++ compatible DLL handling functions marked with
HB_COMPAT_XPP.
! DLLLOAD() changed back to return numeric pointer. This
is required to stay compatible with XBase++.
; TODO:
- Add C API to make DLL calls.
- Move CALLDLL*() functions to xhb lib.
- Add WAPI_LOADLIBRARY()/WAPI_FREELIBRARY()/WIN_GETPROCADDRESS()
functions to replace current LOADLIBRARY()/FREELIBRARY()/GETPROCADDRESS()
calls, fixing them to work on pointers only.
* utils/hbmk2/hbmk2.prg
+ Added autodetection of lib/<arch>/<comp> lib dir. This
makes it possible to use hbmk2 in multicompiler scenarios
without 'make install'ing Harbour, or even multicompiler
end-user configurations for any compiler regardless of
lib format and naming.
+ contrib/hbqt/tests/hbqt.hbp
+ Added .hbp file for hbqt.
* contrib/hbodbc/odbc.c
* Further type cleanup.
* Formatting.
* contrib/hbole/tests/testole.prg
* Minor cleanups.
* contrib/hbole/olecore.c
* Using hb_itemGetCPtr2() instead of hb_itemGetCLPtr()
* contrib/hbwin/wapi_commctrl.c
* contrib/hbwin/wapi_winuser.c
! WinCE fixes.
* Formatting.
* contrib/examples/hbwhat/tests/hbwhat.hbp
- Removed no longer necessary Windows libs.
* utils/hbmk2/hbmk2.prg
* contrib/hbole/tests/hbole.hbp
* contrib/gtwvg/tests/gtwvg.hbp
* contrib/hbwin/tests/hbwin.hbp
- utils/hbmk2/examples/winapi.hbp
+ Added all important Windows system libs to all
win compilers in hbmk2.
- Removed above libs from .hbp files.
* contrib/hbodbc/todbc.prg
* contrib/hbodbc/browodbc.prg
* contrib/hbodbc/odbc.c
* Further cleanups.
SETNUMLEN() -> SQLNUMSETLEN(). This should probably be a core
function by the name HB_NUMSETLEN().
* contrib/hbole/tests/testole.prg
* contrib/hbole/tests/sample.odt
+ Updated to latest hbole code.
; TOFIX: hbole code doesn't compile with MSVC in default C++
even if #define CINTERFACE 1 is enabled.
; TOFIX: OpenOffice example fails at some point. It probably
needs array support.
* contrib/hbole/olecore.c
* Minor formatting.
* contrib/hbqt/hbqt_qabstractitemview.cpp
! Fixed backslash to forward slash.
* contrib/hbct/tests/ctwtest.prg
* contrib/hbnf/dispmsg.prg
* contrib/hbnf/pegs.prg
* contrib/hbnf/tbwhile.prg
* contrib/hbnf/calendar.prg
* contrib/gtwvg/tests/demowvg.prg
* contrib/examples/terminal/trm_server.prg
* contrib/examples/terminal/trm_client.prg
! Using manifest constants.
* contrib/hbmysql/mysql.c
* contrib/hbodbc/odbc.c
* Minor cleanup.
* contrib/hbodbc/tests/odbcdemo.prg
* contrib/hbodbc/tests/odbccall.prg
* contrib/hbodbc/tests/testodbc.prg
* Minor.
* contrib/hbodbc/tests/odbcdemo.prg
* contrib/hbodbc/tests/testodbc.prg
* contrib/hbodbc/todbc.prg
* contrib/hbodbc/odbc.c
* contrib/hbodbc/Makefile
+ Platform protection moved to Makefile level.
+ Lots of type cleanups to use SQL types rather than Windows types.
+ Lots of type cleanups to use large integers where needed.
* Synced Harbour integers API calls with SQL integer sizes.
+ Cleaned __DMC__ hacks.
! Fixed to compile with ODBCVER == 0x0100 and ODBCVER == 0x0200.
* Update Harbour level function names as follows. Old names are
still available, you can disabled them by defining HB_ODBC_LEGACY_LEVEL_OFF macro:
SQLALLOCEN => SQLALLOCENV
SQLALLOCCO => SQLALLOCCONNECT
SQLDRIVERC => SQLDRIVERCONNECT
SQLDISCONN => SQLDISCONNECT
SQLFREECON => SQLFREECONNECT
SQLALLOCST => SQLALLOCSTMT
SQLFREESTM => SQLFREESTMT
SQLEXECDIR => SQLEXECDIRECT
SQLNUMRES => SQLNUMRESULTCOLS
SQLDESCRIB => SQLDESCRIBECOL
SQLEXTENDE => SQLEXTENDEDFETCH
SQLFETCHSC => SQLFETCHSCROLL
SQLROWCOUN => SQLROWCOUNT
SQLSETCONNECTOPTION => SQLSETCONNECTATTR
SQLSETSTMTOPTION => SQLSETSTMTATTR
SQLGETCONNECTOPTION => SQLGETCONNECTATTR
SQLGETSTMTOPTION => SQLGETSTMTATTR
* contrib/hbmysql/mysql.c
% Replaced Windows headers with winsock2.h which seems to
be required by mysql headers.
* contrib/hbfbird/firebird.c
* contrib/rddsql/sqlmix.c
* contrib/hbssl/sslrand.c
% Removed Windows headers.
* contrib/gtwvg/gtwvg.h
* contrib/gtwvg/wvggui.h
+ Readded ugly workaround for mingw64.
* utils/hbmk2/hbmk2.prg
* config/win/icc.cf
* config/win/cygwin.cf
* config/win/msvc.cf
* config/win/owatcom.cf
* config/win/xcc.cf
* config/win/mingw.cf
* config/win/pocc.cf
* Changed Harbour to uniformly link against ws2_32 winsock
lib on Windows. Previous we've been using a mixture of
ws2_32 and wsock32, sometimes both. For some platforms
one of these libs is automatically included by linker,
f.e. for bcc, wsock32 is used.
! This fixes wsock32 no longer available for mingw64.
; These platforms should be retested if this causes any
problems, but ws2_32 should be available for all since long.
* utils/hbmk2/hbmk2.prg
! Typo in prev commit.
* source/vm/maindllp.c
* source/vm/extrap.c
! Fixed for mingw64.
! Fixed warning for mingw64.
; TODO: Check for possible regression.
* contrib/hbodbc/odbc.c
! Fixed mingw64 warning.
; TODO: Check for possible regression.
; TOFIX: (3rd party dependent contribs not yet included)
Errors/Core:
Temp/ccVJXjZS.s: Assembler messages:
Temp/ccVJXjZS.s:19: Error: Incorrect register `%rax' used with `l' suffix
Temp/ccVJXjZS.s:20: Error: `0x0e10(%rax,%ecx,4)' is not a valid base/index expression
Temp/ccVJXjZS.s:36: Error: Incorrect register `%rax' used with `l' suffix
Temp/ccVJXjZS.s:37: Error: `0x0e10(%rax,%ecx,4)' is not a valid base/index expression
+ GTWVG (also lots of warning)
Warnings/Core:
../../hbprintf.c: In function 'hb_snprintf':
../../hbprintf.c:1067: warning: implicit declaration of function 'finite'
../../hbprintf.c:1148: warning: cast from pointer to integer of different size
../../itemapi.c: In function 'hb_itemStrBuf':
../../itemapi.c:2159: warning: implicit declaration of function 'finite'
../../dbfntx1.c: In function 'hb_ntxTagHeaderCheck':
../../dbfntx1.c:1016: warning: dereferencing type-punned pointer will break strict-aliasing rules
../../dbfntx1.c:1016: warning: dereferencing type-punned pointer will break strict-aliasing rules
../../dbfntx1.c:1017: warning: dereferencing type-punned pointer will break strict-aliasing rules
../../dbfntx1.c:1017: warning: dereferencing type-punned pointer will break strict-aliasing rules
../../dbfntx1.c:1017: warning: dereferencing type-punned pointer will break strict-aliasing rules
../../dbfntx1.c:1017: warning: dereferencing type-punned pointer will break strict-aliasing rules
../../dbfnsx1.c: In function 'hb_nsxTagHeaderCheck':
../../dbfnsx1.c:1233: warning: dereferencing type-punned pointer will break strict-aliasing rules
../../dbfnsx1.c:1235: warning: dereferencing type-punned pointer will break strict-aliasing rules
../../dbfnsx1.c:1236: warning: dereferencing type-punned pointer will break strict-aliasing rules
../../dbfnsx1.c:1236: warning: dereferencing type-punned pointer will break strict-aliasing rules
../../dbfnsx1.c:1236: warning: dereferencing type-punned pointer will break strict-aliasing rules
../../dbfnsx1.c:1236: warning: dereferencing type-punned pointer will break strict-aliasing rules
../../dbfnsx1.c: In function 'hb_nsxPageFree':
../../dbfnsx1.c:1525: warning: dereferencing type-punned pointer will break strict-aliasing rules
../../dbfnsx1.c:1525: warning: dereferencing type-punned pointer will break strict-aliasing rules
../../dbfnsx1.c:1525: warning: dereferencing type-punned pointer will break strict-aliasing rules
../../dbfnsx1.c:1525: warning: dereferencing type-punned pointer will break strict-aliasing rules
../../dbfnsx1.c: In function 'hb_nsxPageNew':
../../dbfnsx1.c:1574: warning: dereferencing type-punned pointer will break strict-aliasing rules
../../dbfnsx1.c:1574: warning: dereferencing type-punned pointer will break strict-aliasing rules
../../dbfnsx1.c:1574: warning: dereferencing type-punned pointer will break strict-aliasing rules
../../dbfnsx1.c:1574: warning: dereferencing type-punned pointer will break strict-aliasing rules
Warnings/Contrib:
../../files.c: In function 'HB_FUN_SETFDATI':
../../files.c:247: warning: cast to pointer from integer of different size
../../files.c:268: warning: cast from pointer to integer of different size
../../getenvrn.c: In function 'HB_FUN_FT_GETE':
../../getenvrn.c:178: warning: implicit declaration of function 'GetEnvironmentStrings'
../../getenvrn.c:178: warning: initialization makes pointer from integer without a cast
../../tpwin.c: In function 'HB_FUN_P_INITPORTSPEED':
../../tpwin.c:78: warning: cast to pointer from integer of different size
../../tpwin.c:89: warning: cast to pointer from integer of different size
../../tpwin.c: In function 'HB_FUN_P_READPORT':
../../tpwin.c:108: warning: cast to pointer from integer of different size
../../tpwin.c: In function 'HB_FUN_P_WRITEPORT':
../../tpwin.c:119: warning: cast to pointer from integer of different size
../../win_dll.c: In function 'DllExec':
../../win_dll.c:509: warning: cast from pointer to integer of different size
../../win_dll.c:603: warning: cast to pointer from integer of different size
../../win_dll.c:672: warning: cast to pointer from integer of different size
../../win_dll.c:689: warning: cast to pointer from integer of different size
../../win_dll.c: In function 'hb_getprocaddress':
../../win_dll.c:809: warning: cast to pointer from integer of different size
../../win_ole.c: In function 'hb_oleItemToVariant':
../../win_ole.c:466: warning: cast to pointer from integer of different size
../../win_ole.c: In function 'FreeParams':
../../win_ole.c:762: warning: cast from pointer to integer of different size
../../win_ole.c: In function 'hb_oleVariantToItem':
../../win_ole.c:1092: warning: cast from pointer to integer of different size
../../win_ole.c: In function 'HB_FUN_CREATEOLEOBJECT':
../../win_ole.c:1425: warning: cast from pointer to integer of different size
../../win_ole.c: In function 'HB_FUN_GETOLEOBJECT':
../../win_ole.c:1478: warning: cast from pointer to integer of different size
../../win_ole.c: In function 'HB_FUN_OLEADDREF':
../../win_ole.c:1486: warning: cast to pointer from integer of different size
../../win_ole.c: In function 'HB_FUN_OLERELEASEOBJECT':
../../win_ole.c:1498: warning: cast to pointer from integer of different size
../../win_ole.c: In function 'HB_FUN_TOLEAUTO_OLEVALUE':
../../win_ole.c:1648: warning: cast to pointer from integer of different size
../../win_ole.c: In function 'HB_FUN_TOLEAUTO__OLEVALUE':
../../win_ole.c:1675: warning: cast to pointer from integer of different size
../../win_ole.c: In function 'HB_FUN_TOLEAUTO_OLENEWENUMERATOR':
../../win_ole.c:1703: warning: cast to pointer from integer of different size
../../win_ole.c: In function 'HB_FUN_TOLEAUTO_INVOKE':
../../win_ole.c:1786: warning: cast to pointer from integer of different size
../../win_ole.c: In function 'HB_FUN_TOLEAUTO_SET':
../../win_ole.c:1810: warning: cast to pointer from integer of different size
../../win_ole.c: In function 'HB_FUN_TOLEAUTO_GET':
../../win_ole.c:1834: warning: cast to pointer from integer of different size
../../win_ole.c: In function 'HB_FUN_TOLEAUTO_ONERROR':
../../win_ole.c:1861: warning: cast to pointer from integer of different size
../../win_regc.c: In function 'hb_regkeyconv':
../../win_regc.c:77: warning: cast to pointer from integer of different size
../../win_regc.c: In function 'HB_FUN_WIN_REGCREATEKEYEX':
../../win_regc.c:82: warning: cast to pointer from integer of different size
../../win_regc.c:96: warning: cast from pointer to integer of different size
../../win_regc.c: In function 'HB_FUN_WIN_REGOPENKEYEX':
../../win_regc.c:118: warning: cast from pointer to integer of different size
../../win_regc.c: In function 'HB_FUN_WIN_REGCLOSEKEY':
../../win_regc.c:193: warning: cast to pointer from integer of different size
../../wapi_commctrl.c: In function 'HB_FUN_WAPI_TABCTRL_GETITEMRECT':
../../wapi_commctrl.c:521: warning: value computed is not used
../../wapi_commctrl.c: In function 'HB_FUN_WAPI_TABCTRL_GETIMAGELIST':
../../wapi_commctrl.c:553: warning: cast from pointer to integer of different size
../../wapi_commctrl.c: In function 'HB_FUN_WAPI_TABCTRL_ADJUSTRECT':
../../wapi_commctrl.c:632: warning: value computed is not used
../../wapi_commctrl.c: In function 'HB_FUN_WAPI_TABCTRL_CREATE':
../../wapi_commctrl.c:782: warning: cast to pointer from integer of different size
../../wapi_commctrl.c:786: warning: cast from pointer to integer of different size
../../wapi_winbase.c: In function 'HB_FUN_WAPI_GETMODULEHANDLE':
../../wapi_winbase.c:83: warning: cast to pointer from integer of different size
../../hbserv.c: In function 's_serviceSetHBSig':
../../hbserv.c:638: warning: passing argument 1 of 'SetUnhandledExceptionFilter' from incompatible pointer type
../../hbxml.c: In function 'HB_FUN_HBXML_DATAREAD':
../../hbxml.c:2321: warning: cast to pointer from integer of different size
* tests/bnchmark
+ tests/bnchmark/bnch_win.bat
+ Added speedtst comparison tool, featuring:
- CPU + physical memory info dump from WMI
- Tasklist before and after test runs
- Harbour /build info included in output
- Complete dump of commands executed, hbmk2 output
- Dir listing of tested .exes
- All tests repeated three times by default (configurable)
- 8 slots maximum to compare different speedtst scenarios
- By default it will run -st vs. -mt tests.
; Please read the comments in the file for usage instructions.
Here's an example for parameter setup:
--
set PATH=C:\devl\MinGW-432\bin;%PATH%
set HB_BENCH_RUNS=3
set HB_RUN_FLAGS=--exclude=030
set HB_CMP_FLAGS_1=-gc2
set HB_CMP_FLAGS_2=-gc3
call bnch_win.bat > results.txt 2>&1
--
* config/rules.cf
+ Restored -ko flag. Thanks Mindaugas for analysing test result.
* contrib/hbodbc/todbc.prg
* contrib/hbodbc/odbc.c
* Formatting + minor cleanups.
* contrib/hbmysql/mysql.c
* contrib/hbmysql/tmysql.prg
* Renamed all functions to standard mysql equivalents.
Please update your code and turn off old function
names with -DHB_MYSQL_LEGACY_LEVEL_OFF to test for
success. Legacy function names will be removed from
Harbour in the next release. This move allows to use
hbmysql and hbodbc in the same app.
SQLAND() has to be replaced with HB_BITAND(), be aware
that latter will RTE when non-numeric var is passed,
while SQLAND() was silently ignoring it.
Changed functions names:
SQLVERSION() => mysql_get_server_version()
SQLCONNECT() => mysql_real_connect()
SQLCLOSE() => mysql_close()
SQLCOMMIT() => mysql_commit()
SQLROLLBACK() => mysql_rollback()
SQLSELECTD() => mysql_select_db()
SQLQUERY() => mysql_query()
SQLSTORER() => mysql_store_result()
SQLUSERES() => mysql_use_result()
SQLFREER() => mysql_free_result()
SQLFETCHR() => mysql_fetch_row()
SQLDATAS() => mysql_data_seek()
SQLNROWS() => mysql_num_rows()
SQLFETCHF() => mysql_fetch_field()
SQLFSEEK() => mysql_field_seek()
SQLNUMFI() => mysql_num_fields()
SQLFICOU() => mysql_field_count()
SQLLISTF() => mysql_list_fields()
SQLGETERR() => mysql_error()
SQLLISTDB() => mysql_list_dbs()
SQLLISTTBL() => mysql_list_tables()
SQLAFFROWS() => mysql_affected_rows()
SQLHOSTINFO() => mysql_get_host_info()
SQLSRVINFO() => mysql_get_server_info()
DATATOSQL() => mysql_escape_string()
FILETOSQLBINARY() => mysql_escape_string_from_file()
SQLAND() => hb_bitAnd()
* source/vm/maindll.c
* source/vm/maindllh.c
* source/vm/maindllp.c
* contrib/hbodbc/odbc.c
* Minor formatting.
- bin/hbmk.bat
- bin/hbmk_gcc.bat
- bin/hbmk_os2.cmd
- bin/hbmk_ow.bat
- bin/hbmk_b32.bat
- bin/hbmk_vc.bat
- Removed make files obsoleted by new hbmk tool.
Old calling convention, features, switches, envvars
continue to work.
WARNING: If you've called hbmk as hbmk.bat,
you'll need to change that to simply hbmk.
* contrib/hbodbc/odbc.c
* Minor formatting.
* utils/hbmk/hbmk.prg
! Fixed owatcom link commands. (it was also wrong
in hbmk.bat)
+ Added -debug support for owatcom. (untested)
+ Added rsxnt/rsx32 support in an unobtrusive way.
* include/hbsetup.h
! Fixed OS_UNIX_COMPATIBLE
+ Small comments added.
; NOTE: I'd like to do the following global renames:
HB_WINCE -> HB_OS_WIN_CE
HB_OS_WIN_32 -> HB_OS_WIN
Opinions? Especially on the latter.
* include/hbdefs.h
* include/hbinit.h
* contrib/hbodbc/odbc.c
* _WIN64 -> HB_OS_WIN_64
* contrib/hbodbc/odbc.c
! Some recently updated code now conditionally restored
to pre-ODBC 3.0 versions to support compilers (namely
__DMC__) with old ODBC headers. I couldn't find out
how to point DMC to newer (SDK) ODBC headers, but as
soon as we do, we can remove this workaround.
There is a similar problem with MSVC6.
* contrib/hbodbc/odbc.c
! Replaced depracated ODBC API calls to new ones, thus
solving some potential buffer overflow problems and
64 bit warnings.
* contrib/hbodbc/tests/odbcdemo.prg
! Fixed some non-ASCII chars.