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