digitalmars.D.bugs - method not reached
- Ant (472/472) Oct 14 2004 dmd 0.102, windows XP
dmd 0.102, windows XP
(same oberved and reported for linux - can't find the post)
ok after all that bellow I just regrouped how the modules are compiled and
the problem went away.
!!!DEFINITIVILY DMD PRODUCES BOGUS CODE ON SOME CIRCUMSTANCES!!!
the following is not for reading but to record how I compiled
before and after. maybe it will be usefull to try to fix this.
Ant
echo off
del *.map *.lib *.exe *.bak
set dmd=\DD\dmd
set dm=\DD\dm
set dmdCOMM=%dmd%\bin\dmd -od..\obj -op -c -g -I.;\DD\dante\dool\src
cd src
rem goto few
goto start
:compile
%dmdCOMM% %*
if %ERRORLEVEL% GEQ 1 (
goto error
)
goto :EOF
:start
echo compiling dango
call :compile dango\Context.d dango\Layout.d dango\Font.d dango\TabArray.d
echo compiling ddi
call :compile ddi\KeySyms.d ddi\Bitmap.d ddi\Color.d ddi\Cursor.d ddi\Display.d
ddi\Drawable.d ddi\GC.d ddi\Pixbuf.d ddi\Pixmap.d ddi\Screen.d ddi\Value.d
ddi\Visual.d ddi\WindowG.d
echo compiling dglib
call :compile dglib\AQueue.d dglib\ErrorG.d dglib\File.d dglib\IOChannel.d
dglib\Plugin.d dglib\Spawn.d dglib\StringG.d dglib\ThreadG.d dglib\TimerG.d
echo compiling event
call :compile event\AdjustmentListener.d event\ButtonListener.d
event\CalendarListener.d event\CellListener.d event\CheckMenuItemListener.d
event\ColorSelectionListener.d event\ContainerListener.d
event\DUIObjectListener.d event\Dispatcher.d event\EditableListener.d
event\EntryListener.d event\Event.d event\EventHandler.d
event\HandleBoxListener.d event\IdleListener.d event\ItemListener.d
event\Listener.d event\MenuItemListener.d event\MenuShellListener.d
event\NotebookListener.d event\SelectionListener.d event\StatusbarListener.d
event\TextListener.d event\TimeoutListener.d event\ToggleButtonListener.d
event\ToolbarListener.d event\TreeModelListener.d event\TreeViewListener.d
event\WidgetListener.d event\WindowListener.d
echo compiling dui 1
call :compile dui\AccelGroup.d dui\AccelLabel.d dui\Adjustment.d dui\Alignment.d
dui\All.d dui\Arrow.d dui\AspectFrame.d
echo compiling dui 2
call :compile dui\Bin.d dui\Box.d dui\Button.d dui\ButtonBox.d
echo compiling dui 3
call :compile dui\Calendar.d dui\CellRenderer.d dui\CellRendererPixbuf.d
dui\CellRendererText.d dui\CellRendererToggle.d dui\CheckButton.d
dui\CheckMenuItem.d dui\Clipboard.d dui\ColorSelection.d
dui\ColorSelectionDialog.d dui\Combo.d dui\ComboBox.d dui\ComboBoxText.d
dui\ComboBoxTextEntry.d dui\Container.d dui\Curve.d
echo compiling dui 4
call :compile dui\DND.d dui\DUI.d dui\DUIObject.d dui\Dialog.d dui\DrawingArea.d
dui\Editable.d
echo compiling dui 5
call :compile dui\Entry.d dui\EventBox.d dui\FileChooserDialog.d
echo compiling dui 6
call :compile dui\FileSelection.d dui\Fixed.d dui\FontSelection.d
dui\FontSelectionDialog.d dui\Frame.d
echo compiling dui 7
call :compile dui\GammaCurve.d
echo compiling dui 8
call :compile dui\HBox.d dui\HButtonBox.d dui\HPaned.d dui\HRuler.d dui\HScale.d
dui\HScrollbar.d dui\HSeparator.d dui\HandleBox.d
echo compiling dui 9
call :compile dui\Image.d dui\ImageMenuItem.d dui\InputDialog.d dui\Invisible.d
dui\Item.d dui\ItemFactory.d
echo compiling dui 10
call :compile dui\Label.d dui\Layout.d dui\List.d dui\ListG.d dui\ListItem.d
dui\ListStore.d
echo compiling dui 11
call :compile dui\MainWindow.d dui\Menu.d dui\MenuBar.d dui\MenuItem.d
dui\MenuShell.d dui\MessageDialog.d dui\Misc.d
echo compiling dui 12
call :compile dui\Notebook
echo compiling dui 13
call :compile dui\OGTK.d dui\ObjectG.d dui\OptionMenu.d
echo compiling dui 14
call :compile dui\Paned.d dui\Plug.d dui\Preview.d dui\ProgressBar.d
echo compiling dui 15
call :compile dui\RadioButton.d dui\RadioMenuItem.d dui\Range.d dui\Ruler.d
echo compiling dui 16
call :compile dui\SListG.d dui\Scale.d dui\Scrollbar.d dui\ScrolledWindow.d
dui\Selection.d dui\Separator.d dui\SeparatorMenuItem.d dui\SizeGroup.d
dui\Socket.d dui\SpinButton.d dui\Statusbar.d
echo compiling dui 17
call :compile dui\Table.d dui\TearoffMenuItem.d dui\TextBuffer.d
dui\TextChildAnchor.d dui\TextIter.d dui\TextMark.d dui\TextTag.d
dui\TextTagTable.d dui\TextView.d dui\ToggleButton.d dui\Toolbar.d
dui\Tooltips.d dui\Tree.d dui\TreeItem.d dui\TreeIter.d dui\TreeModel.d
dui\TreePath.d dui\TreeRowReference.d dui\TreeSelection.d dui\TreeStore.d
dui\TreeView.d dui\TreeViewColumn.d
echo compiling dui 18
call :compile dui\Utils.d
echo compiling dui 19
call :compile dui\VBox.d dui\VButtonBox.d dui\VPaned.d dui\VRuler.d dui\VScale.d
dui\VScrollbar.d dui\VSeparator.d dui\Viewport.d
echo compiling dui 20
call :compile dui\Widget.d dui\Window.d dui\WindowGroup.d
echo compiling dui 21
call :compile dui\InputStringDialog.d
goto lib
:few
echo few 1
call :compile dui\Widget.d dui\Window.d dui\Label.d dui\Misc.d
:lib
cd ..
set objs=obj\dango\Context.obj obj\dango\Layout.obj obj\dango\Font.obj
obj\dango\TabArray.obj
set objs=%objs% obj\ddi\KeySyms.obj obj\ddi\Bitmap.obj obj\ddi\Color.obj
obj\ddi\Cursor.obj obj\ddi\Display.obj obj\ddi\Drawable.obj obj\ddi\GC.obj
obj\ddi\Pixbuf.obj obj\ddi\Pixmap.obj obj\ddi\Screen.obj obj\ddi\Value.obj
obj\ddi\Visual.obj obj\ddi\WindowG.obj
set objs=%objs% obj\dglib\AQueue.obj obj\dglib\ErrorG.obj obj\dglib\File.obj
obj\dglib\IOChannel.obj obj\dglib\Plugin.obj obj\dglib\Spawn.obj
obj\dglib\StringG.obj obj\dglib\ThreadG.obj obj\dglib\TimerG.obj
set objs=%objs% obj\event\AdjustmentListener.obj obj\event\ButtonListener.obj
obj\event\CalendarListener.obj obj\event\CellListener.obj
obj\event\CheckMenuItemListener.obj obj\event\ColorSelectionListener.obj
obj\event\ContainerListener.obj obj\event\DUIObjectListener.obj
obj\event\Dispatcher.obj obj\event\EditableListener.obj
obj\event\EntryListener.obj obj\event\Event.obj obj\event\EventHandler.obj
obj\event\HandleBoxListener.obj obj\event\IdleListener.obj
obj\event\ItemListener.obj obj\event\Listener.obj obj\event\MenuItemListener.obj
obj\event\MenuShellListener.obj obj\event\NotebookListener.obj
obj\event\SelectionListener.obj obj\event\StatusbarListener.obj
obj\event\TextListener.obj obj\event\TimeoutListener.obj
obj\event\ToggleButtonListener.obj obj\event\ToolbarListener.obj
obj\event\TreeModelListener.obj obj\event\TreeViewListener.obj
obj\event\WidgetListener.obj obj\event\WindowListener.obj
set objs=%objs% obj\dui\AccelGroup.obj obj\dui\AccelLabel.obj
obj\dui\Adjustment.obj obj\dui\Alignment.obj obj\dui\All.obj obj\dui\Arrow.obj
obj\dui\AspectFrame.obj
set objs=%objs% obj\dui\Bin.obj obj\dui\Box.obj obj\dui\Button.obj
obj\dui\ButtonBox.obj
set objs=%objs% obj\dui\Calendar.obj obj\dui\CellRenderer.obj
obj\dui\CellRendererPixbuf.obj obj\dui\CellRendererText.obj
obj\dui\CellRendererToggle.obj obj\dui\CheckButton.obj obj\dui\CheckMenuItem.obj
obj\dui\Clipboard.obj obj\dui\ColorSelection.obj
obj\dui\ColorSelectionDialog.obj obj\dui\Combo.obj obj\dui\ComboBox.obj
obj\dui\ComboBoxText.obj obj\dui\ComboBoxTextEntry.obj obj\dui\Container.obj
obj\dui\Curve.obj
set objs=%objs% obj\dui\DND.obj obj\dui\DUI.obj obj\dui\DUIObject.obj
obj\dui\Dialog.obj obj\dui\DrawingArea.obj obj\dui\Editable.obj
set objs=%objs% obj\dui\Entry.obj obj\dui\EventBox.obj
obj\dui\FileChooserDialog.obj
set objs=%objs% obj\dui\FileSelection.obj obj\dui\Fixed.obj
obj\dui\FontSelection.obj obj\dui\FontSelectionDialog.obj obj\dui\Frame.obj
set objs=%objs% obj\dui\GammaCurve.obj
set objs=%objs% obj\dui\HBox.obj obj\dui\HButtonBox.obj obj\dui\HPaned.obj
obj\dui\HRuler.obj obj\dui\HScale.obj obj\dui\HScrollbar.obj
obj\dui\HSeparator.obj obj\dui\HandleBox.obj
set objs=%objs% obj\dui\Image.obj obj\dui\ImageMenuItem.obj
obj\dui\InputDialog.obj obj\dui\Invisible.obj obj\dui\Item.obj
obj\dui\ItemFactory.obj
set objs=%objs% obj\dui\Label.obj obj\dui\Layout.obj obj\dui\List.obj
obj\dui\ListG.obj obj\dui\ListItem.obj obj\dui\ListStore.obj
set objs=%objs% obj\dui\MainWindow.obj obj\dui\Menu.obj obj\dui\MenuBar.obj
obj\dui\MenuItem.obj obj\dui\MenuShell.obj obj\dui\MessageDialog.obj
obj\dui\Misc.obj
set objs=%objs% obj\dui\Notebook
set objs=%objs% obj\dui\OGTK.obj obj\dui\ObjectG.obj obj\dui\OptionMenu.obj
set objs=%objs% obj\dui\Paned.obj obj\dui\Plug.obj obj\dui\Preview.obj
obj\dui\ProgressBar.obj
set objs=%objs% obj\dui\RadioButton.obj obj\dui\RadioMenuItem.obj
obj\dui\Range.obj obj\dui\Ruler.obj
set objs=%objs% obj\dui\SListG.obj obj\dui\Scale.obj obj\dui\Scrollbar.obj
obj\dui\ScrolledWindow.obj obj\dui\Selection.obj obj\dui\Separator.obj
obj\dui\SeparatorMenuItem.obj obj\dui\SizeGroup.obj obj\dui\Socket.obj
obj\dui\SpinButton.obj obj\dui\Statusbar.obj
set objs=%objs% obj\dui\Table.obj obj\dui\TearoffMenuItem.obj
obj\dui\TextBuffer.obj obj\dui\TextChildAnchor.obj obj\dui\TextIter.obj
obj\dui\TextMark.obj obj\dui\TextTag.obj obj\dui\TextTagTable.obj
obj\dui\TextView.obj obj\dui\ToggleButton.obj obj\dui\Toolbar.obj
obj\dui\Tooltips.obj obj\dui\Tree.obj obj\dui\TreeItem.obj obj\dui\TreeIter.obj
obj\dui\TreeModel.obj obj\dui\TreePath.obj obj\dui\TreeRowReference.obj
obj\dui\TreeSelection.obj obj\dui\TreeStore.obj obj\dui\TreeView.obj
obj\dui\TreeViewColumn.obj
set objs=%objs% obj\dui\Utils.obj
set objs=%objs% obj\dui\VBox.obj obj\dui\VButtonBox.obj obj\dui\VPaned.obj
obj\dui\VRuler.obj obj\dui\VScale.obj obj\dui\VScrollbar.obj
obj\dui\VSeparator.obj obj\dui\Viewport.obj
set objs=%objs% obj\dui\Widget.obj obj\dui\Window.obj obj\dui\WindowGroup.obj
set objs=%objs% obj\dui\InputStringDialog.obj
:builLib
echo on
%dm%\bin\lib.exe -p128 -c dui.lib %objs%
echo off
goto end
:error
echo error: %ERRORLEVEL%
:end
echo off
del *.map *.lib *.exe *.bak
set dmd=\DD\dmd
set dm=\DD\dm
set dmdCOMM=%dmd%\bin\dmd -od..\obj -op -c -g -I.;\DD\dante\dool\src
cd src
rem goto few
goto start
:compile
%dmdCOMM% %*
if %ERRORLEVEL% GEQ 1 (
goto error
)
goto :EOF
:start
echo compiling dango
call :compile dango\Context.d dango\Layout.d dango\Font.d dango\TabArray.d
echo compiling ddi
call :compile ddi\KeySyms.d ddi\Bitmap.d ddi\Color.d ddi\Cursor.d ddi\Display.d
ddi\Drawable.d ddi\GC.d ddi\Pixbuf.d ddi\Pixmap.d ddi\Screen.d ddi\Value.d
ddi\Visual.d ddi\WindowG.d
echo compiling dglib
call :compile dglib\AQueue.d dglib\ErrorG.d dglib\File.d dglib\IOChannel.d
dglib\Plugin.d dglib\Spawn.d dglib\StringG.d dglib\ThreadG.d dglib\TimerG.d
echo compiling event
call :compile event\AdjustmentListener.d event\ButtonListener.d
event\CalendarListener.d event\CellListener.d event\CheckMenuItemListener.d
event\ColorSelectionListener.d event\ContainerListener.d
event\DUIObjectListener.d event\Dispatcher.d event\EditableListener.d
event\EntryListener.d event\Event.d event\EventHandler.d
event\HandleBoxListener.d event\IdleListener.d event\ItemListener.d
event\Listener.d event\MenuItemListener.d event\MenuShellListener.d
event\NotebookListener.d event\SelectionListener.d event\StatusbarListener.d
event\TextListener.d event\TimeoutListener.d event\ToggleButtonListener.d
event\ToolbarListener.d event\TreeModelListener.d event\TreeViewListener.d
event\WidgetListener.d event\WindowListener.d
echo compiling dui 1
call :compile dui\AccelGroup.d dui\AccelLabel.d dui\Adjustment.d dui\Alignment.d
dui\All.d dui\Arrow.d dui\AspectFrame.d
echo compiling dui 2
call :compile dui\Bin.d dui\Box.d dui\Button.d dui\ButtonBox.d
echo compiling dui 3
call :compile dui\Calendar.d dui\CellRenderer.d dui\CellRendererPixbuf.d
dui\CellRendererText.d dui\CellRendererToggle.d dui\CheckButton.d
dui\CheckMenuItem.d dui\Clipboard.d dui\ColorSelection.d
dui\ColorSelectionDialog.d dui\Combo.d dui\ComboBox.d dui\ComboBoxText.d
dui\ComboBoxTextEntry.d dui\Container.d dui\Curve.d
echo compiling dui 4
call :compile dui\DND.d dui\DUI.d dui\DUIObject.d dui\Dialog.d dui\DrawingArea.d
dui\Editable.d
echo compiling dui 5
call :compile dui\Entry.d dui\EventBox.d dui\FileChooserDialog.d
echo compiling dui 6
call :compile dui\FileSelection.d dui\Fixed.d dui\FontSelection.d
dui\FontSelectionDialog.d dui\Frame.d
echo compiling dui 7
call :compile dui\GammaCurve.d
echo compiling dui 8
call :compile dui\HBox.d dui\HButtonBox.d dui\HPaned.d dui\HRuler.d dui\HScale.d
dui\HScrollbar.d dui\HSeparator.d dui\HandleBox.d
echo compiling dui 9
call :compile dui\Image.d dui\ImageMenuItem.d dui\InputDialog.d dui\Invisible.d
dui\Item.d dui\ItemFactory.d dui\Label.d dui\Layout.d dui\List.d dui\ListG.d
dui\ListItem.d dui\ListStore.d
echo compiling dui 11
call :compile dui\MainWindow.d dui\Menu.d dui\MenuBar.d dui\MenuItem.d
dui\MenuShell.d dui\MessageDialog.d dui\Misc.d
echo compiling dui 12
call :compile dui\Notebook
echo compiling dui 13
call :compile dui\OGTK.d dui\ObjectG.d dui\OptionMenu.d
echo compiling dui 14
call :compile dui\Paned.d dui\Plug.d dui\Preview.d dui\ProgressBar.d
echo compiling dui 15
call :compile dui\RadioButton.d dui\RadioMenuItem.d dui\Range.d dui\Ruler.d
echo compiling dui 16
call :compile dui\SListG.d dui\Scale.d dui\Scrollbar.d dui\ScrolledWindow.d
dui\Selection.d dui\Separator.d dui\SeparatorMenuItem.d dui\SizeGroup.d
dui\Socket.d dui\SpinButton.d dui\Statusbar.d
echo compiling dui 17
call :compile dui\Table.d dui\TearoffMenuItem.d dui\TextBuffer.d
dui\TextChildAnchor.d dui\TextIter.d dui\TextMark.d dui\TextTag.d
dui\TextTagTable.d dui\TextView.d dui\ToggleButton.d dui\Toolbar.d
dui\Tooltips.d dui\Tree.d dui\TreeItem.d dui\TreeIter.d dui\TreeModel.d
dui\TreePath.d dui\TreeRowReference.d dui\TreeSelection.d dui\TreeStore.d
dui\TreeView.d dui\TreeViewColumn.d
echo compiling dui 18
call :compile dui\Utils.d
echo compiling dui 19
call :compile dui\VBox.d dui\VButtonBox.d dui\VPaned.d dui\VRuler.d dui\VScale.d
dui\VScrollbar.d dui\VSeparator.d dui\Viewport.d
echo compiling dui 20
call :compile dui\Widget.d dui\Window.d dui\WindowGroup.d
echo compiling dui 21
call :compile dui\InputStringDialog.d
goto lib
:few
echo few 1
call :compile dui\Widget.d dui\Window.d dui\Label.d dui\Misc.d
:lib
cd ..
set objs=obj\dango\Context.obj obj\dango\Layout.obj obj\dango\Font.obj
obj\dango\TabArray.obj
set objs=%objs% obj\ddi\KeySyms.obj obj\ddi\Bitmap.obj obj\ddi\Color.obj
obj\ddi\Cursor.obj obj\ddi\Display.obj obj\ddi\Drawable.obj obj\ddi\GC.obj
obj\ddi\Pixbuf.obj obj\ddi\Pixmap.obj obj\ddi\Screen.obj obj\ddi\Value.obj
obj\ddi\Visual.obj obj\ddi\WindowG.obj
set objs=%objs% obj\dglib\AQueue.obj obj\dglib\ErrorG.obj obj\dglib\File.obj
obj\dglib\IOChannel.obj obj\dglib\Plugin.obj obj\dglib\Spawn.obj
obj\dglib\StringG.obj obj\dglib\ThreadG.obj obj\dglib\TimerG.obj
set objs=%objs% obj\event\AdjustmentListener.obj obj\event\ButtonListener.obj
obj\event\CalendarListener.obj obj\event\CellListener.obj
obj\event\CheckMenuItemListener.obj obj\event\ColorSelectionListener.obj
obj\event\ContainerListener.obj obj\event\DUIObjectListener.obj
obj\event\Dispatcher.obj obj\event\EditableListener.obj
obj\event\EntryListener.obj obj\event\Event.obj obj\event\EventHandler.obj
obj\event\HandleBoxListener.obj obj\event\IdleListener.obj
obj\event\ItemListener.obj obj\event\Listener.obj obj\event\MenuItemListener.obj
obj\event\MenuShellListener.obj obj\event\NotebookListener.obj
obj\event\SelectionListener.obj obj\event\StatusbarListener.obj
obj\event\TextListener.obj obj\event\TimeoutListener.obj
obj\event\ToggleButtonListener.obj obj\event\ToolbarListener.obj
obj\event\TreeModelListener.obj obj\event\TreeViewListener.obj
obj\event\WidgetListener.obj obj\event\WindowListener.obj
set objs=%objs% obj\dui\AccelGroup.obj obj\dui\AccelLabel.obj
obj\dui\Adjustment.obj obj\dui\Alignment.obj obj\dui\All.obj obj\dui\Arrow.obj
obj\dui\AspectFrame.obj
set objs=%objs% obj\dui\Bin.obj obj\dui\Box.obj obj\dui\Button.obj
obj\dui\ButtonBox.obj
set objs=%objs% obj\dui\Calendar.obj obj\dui\CellRenderer.obj
obj\dui\CellRendererPixbuf.obj obj\dui\CellRendererText.obj
obj\dui\CellRendererToggle.obj obj\dui\CheckButton.obj obj\dui\CheckMenuItem.obj
obj\dui\Clipboard.obj obj\dui\ColorSelection.obj
obj\dui\ColorSelectionDialog.obj obj\dui\Combo.obj obj\dui\ComboBox.obj
obj\dui\ComboBoxText.obj obj\dui\ComboBoxTextEntry.obj obj\dui\Container.obj
obj\dui\Curve.obj
set objs=%objs% obj\dui\DND.obj obj\dui\DUI.obj obj\dui\DUIObject.obj
obj\dui\Dialog.obj obj\dui\DrawingArea.obj obj\dui\Editable.obj
set objs=%objs% obj\dui\Entry.obj obj\dui\EventBox.obj
obj\dui\FileChooserDialog.obj
set objs=%objs% obj\dui\FileSelection.obj obj\dui\Fixed.obj
obj\dui\FontSelection.obj obj\dui\FontSelectionDialog.obj obj\dui\Frame.obj
set objs=%objs% obj\dui\GammaCurve.obj
set objs=%objs% obj\dui\HBox.obj obj\dui\HButtonBox.obj obj\dui\HPaned.obj
obj\dui\HRuler.obj obj\dui\HScale.obj obj\dui\HScrollbar.obj
obj\dui\HSeparator.obj obj\dui\HandleBox.obj
set objs=%objs% obj\dui\Image.obj obj\dui\ImageMenuItem.obj
obj\dui\InputDialog.obj obj\dui\Invisible.obj obj\dui\Item.obj
obj\dui\ItemFactory.obj
set objs=%objs% obj\dui\Label.obj obj\dui\Layout.obj obj\dui\List.obj
obj\dui\ListG.obj obj\dui\ListItem.obj obj\dui\ListStore.obj
set objs=%objs% obj\dui\MainWindow.obj obj\dui\Menu.obj obj\dui\MenuBar.obj
obj\dui\MenuItem.obj obj\dui\MenuShell.obj obj\dui\MessageDialog.obj
obj\dui\Misc.obj
set objs=%objs% obj\dui\Notebook
set objs=%objs% obj\dui\OGTK.obj obj\dui\ObjectG.obj obj\dui\OptionMenu.obj
set objs=%objs% obj\dui\Paned.obj obj\dui\Plug.obj obj\dui\Preview.obj
obj\dui\ProgressBar.obj
set objs=%objs% obj\dui\RadioButton.obj obj\dui\RadioMenuItem.obj
obj\dui\Range.obj obj\dui\Ruler.obj
set objs=%objs% obj\dui\SListG.obj obj\dui\Scale.obj obj\dui\Scrollbar.obj
obj\dui\ScrolledWindow.obj obj\dui\Selection.obj obj\dui\Separator.obj
obj\dui\SeparatorMenuItem.obj obj\dui\SizeGroup.obj obj\dui\Socket.obj
obj\dui\SpinButton.obj obj\dui\Statusbar.obj
set objs=%objs% obj\dui\Table.obj obj\dui\TearoffMenuItem.obj
obj\dui\TextBuffer.obj obj\dui\TextChildAnchor.obj obj\dui\TextIter.obj
obj\dui\TextMark.obj obj\dui\TextTag.obj obj\dui\TextTagTable.obj
obj\dui\TextView.obj obj\dui\ToggleButton.obj obj\dui\Toolbar.obj
obj\dui\Tooltips.obj obj\dui\Tree.obj obj\dui\TreeItem.obj obj\dui\TreeIter.obj
obj\dui\TreeModel.obj obj\dui\TreePath.obj obj\dui\TreeRowReference.obj
obj\dui\TreeSelection.obj obj\dui\TreeStore.obj obj\dui\TreeView.obj
obj\dui\TreeViewColumn.obj
set objs=%objs% obj\dui\Utils.obj
set objs=%objs% obj\dui\VBox.obj obj\dui\VButtonBox.obj obj\dui\VPaned.obj
obj\dui\VRuler.obj obj\dui\VScale.obj obj\dui\VScrollbar.obj
obj\dui\VSeparator.obj obj\dui\Viewport.obj
set objs=%objs% obj\dui\Widget.obj obj\dui\Window.obj obj\dui\WindowGroup.obj
set objs=%objs% obj\dui\InputStringDialog.obj
:builLib
echo on
%dm%\bin\lib.exe -p128 -c dui.lib %objs%
echo off
goto end
:error
echo error: %ERRORLEVEL%
:end
dmd 0.102, windows XP
this code from DUI.Widget is executed for every DUI widget:
this(GtkObject* gtkObject)
{
printf("Widget.this 1 GtkObject %X %X\n", gtkObject, *gtkObject);
super(gtkObject);
printf("Widget.this 2 GtkObject %X %X\n", gtkObject, *gtkObject);
this.gtkWidget = cast(GtkWidget*)gtkObject;
printf("Widget.this 3 GtkObject %X %X\n", gtkObject, *gtkObject);
printf("Widget.this getAutoShow() %d\n", getAutoShow());
printf("Widget.this DUI.dui().autoShow() %d\n",DUI.dui().autoShow() );
if ( getAutoShow() && (DUI.dui().autoShow() == 1))
{
printf("Widget.this 4 GtkObject %X %X\n", gtkObject, *gtkObject);
show();
printf("Widget.this 5 GtkObject %X %X\n", gtkObject, *gtkObject);
}
printf("Widget.this 6 GtkObject %X %X\n", gtkObject, *gtkObject);
}
bit getAutoShow()
{
printf("Window.getAutoShow() 1\n");
printf("getAutoShow == %d\n",getData("_AutoShow\0"));
printf("Window.getAutoShow() 2\n");
return getData(new String("_AutoShow")) === null;
}
and produces the (few last lines):
Widget.this cast(GtkObject*)gtkWidget F975F0
Widget.this 1 GtkObject F975F0 F95BA0
Widget.this 2 GtkObject F975F0 F95BA0
getAutoShow == 0
Widget.getAutoShow() 2
Widget.this getAutoShow() 1
Widget.this DUI.dui().autoShow() 1
Widget.getAutoShow() 1
getAutoShow == 0
Widget.getAutoShow() 2
Widget.this 4 GtkObject F975F0 F95BA0
Widget.this 5 GtkObject F975F0 F95BA0
Widget.this 6 GtkObject F975F0 F95BA0
Widget.this F975F0 F95BA0
dui.Label.this 1 str = phobos
Label.this F9AAA8 F87568
Misc.this F9AAA8 F87568
Widget.this(GtkWidget)
Widget.this F9AAA8 F87568
Widget.this cast(GtkObject*)gtkWidget F9AAA8
Widget.this 1 GtkObject F9AAA8 F87568
Widget.this 2 GtkObject F9AAA8 F87568
why does it never reach getAutoShow ?
I say this is the same problem I reported for linux
but in that case I had the parcial information from gdb.
I'm conviced the compiler generates code that doesn't
call the right address for the function.
(probably I can't find the post reference....give up.)
the widget hirarchy is:
Widget
Misc
Label
if I create a method getAutoShow on Misc or Label
the compiler issues an error saying it doesn't override any.
Ant
Oct 14 2004








Ant <Ant_member pathlink.com>