Hi All,

>We already have part of this enabled in fm.c, but only 
>when building core in C++ mode, and if FMSTAT is enabled.

I tried to activate this part with:

        @set HB_BUILD_MODE=cpp
        @set HB_USER_CFLAGS=-DHB_FM_STATISTICS
        in hbqt.hbc: 
        from:   
        {allgcc}libs=supc++
        to:
        {allgcc}libs=hbvm supc++ (maybe there are more sophisticated
approaches to eliminate the double defined new/delete build errors )

But hbide and demoqt crashes on exit, see below...

>Maybe we should create a small contrib lib with just 
>that, so that it could be used by any C++ contribs we 
>may happen to have in the future (plus hbqt of course).

OK, it is useful I think, but will generate other problems as we can see.

I just proposed a similar handling of the fm.c mingw build with the MSC
build.
More exactly to insert in the subsequent logic the #define USE_DL_PREFIX for
MinGW. I haven't enough knowledge of the HVM internals to do it, sorry.
...
#  elif defined( _MSC_VER )
#     if !defined( USE_DL_PREFIX ) && !defined( HB_FM_DLMT_ALLOC )
#        define USE_DL_PREFIX
#     endif
#     if defined( HB_OS_WIN_CE )
#        define LACKS_FCNTL_H
#     endif 
...
This part generates the different MSC and MinGW default builds behavior, as
I understood correctly.

Best regards,
István

==========================================================
GNU gdb 6.8
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-mingw32"...
(gdb) run
Starting program: c:\Downloads\harbour\contrib\hbqt\tests/demoqt.exe
[New thread 4220.0x72c]
warning: Page heap: pid 0x107C: page heap enabled with flags 0x3.

warning: AVRF: demoqt.exe: pid 0x107C: flags 0x80443027: application
verifier en
abled

warning: QApplication.cpp:212: HB_TR_DEBUG           new_QApplication
     133275 B 20000 KB
warning: trace.c:96: HB_TR_ALWAYS HbQt_Set_Release_Method DEFAULT   :
HBQT_RELEA
SE_WITH_DELETE_LATER
warning: trace.c:96: HB_TR_ALWAYS HbQt_Set_Release_Method SET       :
HBQT_RELEA
SE_WITH_DELETE
warning: trace.c:96: HB_TR_ALWAYS
warning: trace.c:96: HB_TR_ALWAYS -----------------b-----------------
warning: QMainWindow.cpp:145: HB_TR_DEBUG           new_QMainWindow
    213332 B 20804 KB
warning: QWidget.cpp:169: HB_TR_DEBUG           new_QWidget
213500 B 25640 KB
warning: QMenuBar.cpp:145: HB_TR_DEBUG           new_QMenuBar
 227903 B 25980 KB
warning: QMenu.cpp:142: HB_TR_DEBUG           new_QMenu
24
7206 B 26076 KB
warning: QMenu.cpp:142: HB_TR_DEBUG           new_QMenu
24
7782 B 26860 KB
warning: QToolBar.cpp:132: HB_TR_DEBUG           new_QToolBar
 265887 B 45720 KB
warning: QAction.cpp:150: HB_TR_DEBUG           new_QAction
279963 B 45760 KB
warning: QAction.cpp:150: HB_TR_DEBUG           new_QAction
280183 B 45988 KB
warning: QAction.cpp:150: HB_TR_DEBUG           new_QAction
280403 B 46228 KB
warning: QStatusBar.cpp:131: HB_TR_DEBUG           new_QStatusBar
   294349 B 46912 KB
warning: QLabel.cpp:132: HB_TR_DEBUG           new_QLabel
3
27333 B 47072 KB
warning: QPushButton.cpp:133: HB_TR_DEBUG           new_QPushButton
    360022 B 47956 KB
warning: QTableWidget.cpp:143: HB_TR_DEBUG           new_QTableWidget
     454992 B 50936 KB
warning: QBrush.cpp:113: HB_TR_DEBUG           new_QBrush
4
60386 B 55616 KB
warning: QBrush.cpp:113: HB_TR_DEBUG           new_QBrush
4
60486 B 55620 KB
warning: QTableWidgetItem.cpp:111: HB_TR_DEBUG
new_QTableWidgetItem
         470010 B 55644 KB
warning: QTabWidget.cpp:136: HB_TR_DEBUG           new_QTabWidget
   491034 B 58792 KB
warning: QWidget.cpp:169: HB_TR_DEBUG           new_QWidget
491202 B 58812 KB
warning: QWidget.cpp:169: HB_TR_DEBUG           new_QWidget
491370 B 58832 KB
warning: QWidget.cpp:169: HB_TR_DEBUG           new_QWidget
491538 B 58852 KB
warning: QTreeView.cpp:143: HB_TR_DEBUG           new_QTreeView
  517436 B 64360 KB
warning: QDirModel.cpp:136: HB_TR_DEBUG           new_QDirModel
  540043 B 66052 KB
[New thread 4220.0x65c]
[New thread 4220.0x13b8]
warning: QLineEdit.cpp:136: HB_TR_DEBUG           new_QLineEdit
  564610 B 69436 KB
warning: QComboBox.cpp:136: HB_TR_DEBUG           new_QComboBox
  589755 B 69824 KB
warning: QCheckBox.cpp:131: HB_TR_DEBUG           new_QCheckBox
  604072 B 70012 KB
warning: QSpinBox.cpp:130: HB_TR_DEBUG           new_QSpinBox
 636274 B 70328 KB
warning: QRadioButton.cpp:131: HB_TR_DEBUG           new_QRadioButton
     649664 B 70388 KB
warning: QTextEdit.cpp:149: HB_TR_DEBUG           new_QTextEdit
  681461 B 71548 KB
warning: QProgressBar.cpp:134: HB_TR_DEBUG           new_QProgressBar
     698361 B 71652 KB
warning: QListView.cpp:139: HB_TR_DEBUG           new_QListView
  720373 B 72300 KB
warning: QStringList.cpp:124: HB_TR_DEBUG           new_QStringList
    741022 B 72320 KB
warning: QStringListModel.cpp:131: HB_TR_DEBUG
new_QStringListModel
         752032 B 72384 KB
warning: trace.c:96: HB_TR_ALWAYS connected: Yes
[New thread 4220.0xd5c]
Error: dll starting at 0x71cf0000 not found.
Error: dll starting at 0x71ad0000 not found.
warning: Lowest section in C:\Windows\system32\normaliz.dll is .text at
00401000

Error: dll starting at 0x71910000 not found.
BFD: C:\Windows\system32\SLC.dll: Warning: Ignoring section flag
IMAGE_SCN_MEM_N
OT_PAGED in section .reloc
BFD: C:\Windows\system32\SLC.dll: Warning: Ignoring section flag
IMAGE_SCN_MEM_N
OT_PAGED in section .reloc
warning: trace.c:96: HB_TR_ALWAYS ----------------- qApp:exec
-----------------
warning: trace.c:96: HB_TR_ALWAYS HbQt_Set_Release_Method SET       :
HBQT_RELEA
SE_WITH_DELETE
warning: trace.c:96: HB_TR_ALWAYS -----------------  Releasing Memory
---------
--------
warning: QPushButton.cpp:92: HB_TR_DEBUG release_QPushButton
p=
0x4ea0368
warning: QPushButton.cpp:93: HB_TR_DEBUG release_QPushButton
ph=
0x4e95778 pq=0x4e95778
warning: HEAP[demoqt.exe]:
warning: Invalid address specified to RtlSizeHeap( 03270000, 04E95758 )


Program received signal SIGTRAP, Trace/breakpoint trap.
0x77c58b2f in ntdll!DbgUiConvertStateChangeStructure ()
   from C:\Windows\system32\ntdll.dll
(gdb)


_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to