GNOME Bugzilla – Bug 352708
Risks of crashes on 64bits platforms
Last modified: 2013-09-13 00:49:14 UTC
Bug #349130 showed that a missing function declaration can have important side-effects on 64bits architecture because gcc assumes that the return value is 32bits (but if the function returns for example a pointer, the return value will be truncated). The sad thing is that gcc warns about these functions but I found no way to tranforms these warnings into error. Here's the extract of the build log with all the warning detected: ea-gnome-calendar.c:186: warning: implicit declaration of function 'e_utf8_strftime' e-cell-text.c:1362: warning: implicit declaration of function 'gnome_print_pango_create_layout' e-cell-text.c:1362: warning: assignment makes pointer from integer without a cast e-cell-text.c:1423: warning: implicit declaration of function 'gnome_print_pango_layout' e-table-utils.c:116: warning: implicit declaration of function 'strcmp' e-icon-entry.c:370: warning: implicit declaration of function 'gtk_event_box_new' e-icon-entry.c:370: warning: assignment makes pointer from integer without a cast e-icon-entry.c:372: warning: implicit declaration of function 'gtk_event_box_set_visible_window' e-icon-entry.c:374: warning: implicit declaration of function 'gtk_image_new_from_stock' e-icon-entry.c:374: warning: assignment makes pointer from integer without a cast e-minicard.c:850: warning: implicit declaration of function 'e_text_to_html' e-minicard.c:850: warning: assignment makes pointer from integer without a cast alarm-notify.c:346: warning: implicit declaration of function ‘e_util_pthread_id’ alarm-notify.c:346: warning: implicit declaration of function ‘pthread_self’ alarm-queue.c:1360: warning: implicit declaration of function ‘gtk_get_current_event_time’ alarm-dialog.c:1081: warning: implicit declaration of function 'gnome_file_entry_set_default_path' event-page.c:2888: warning: implicit declaration of function 'alarm_list_dialog_peek' event-page.c:2888: warning: assignment makes pointer from integer without a cast memo-editor.c:106: warning: implicit declaration of function 'memo_page_set_show_categories' memo-editor.c:123: warning: implicit declaration of function 'memo_page_set_classification' calendar-component.c:1380: warning: implicit declaration of function 'gnome_calendar_get_tag' e-calendar-table.c:1209: warning: implicit declaration of function 'e_cal_model_tasks_mark_task_incomplete' e-day-view-main-item.c:1443: warning: implicit declaration of function 'draw_curved_rectangle' e-day-view-top-item.c:928: warning: implicit declaration of function 'draw_curved_rectangle' e-day-view.c:7159: warning: implicit declaration of function 'e_calendar_view_move_tip' e-week-view-event-item.c:907: warning: implicit declaration of function 'draw_curved_rectangle' e-week-view.c:2594: warning: implicit declaration of function 'e_calendar_view_move_tip' e-msg-composer.c:2856: warning: implicit declaration of function 'gnome_help_display_desktop' em-folder-view.c:572: warning: implicit declaration of function 'e_filename_make_safe' em-format-html-display.c:622: warning: implicit declaration of function 'gtk_signal_emit_by_name' em-format-html-display.c:2344: warning: implicit declaration of function 'e_attachment_bar_create_attachment_cache'
well, you can turn them into errors by using the -Werror-implicit-function-declaration gcc compiler flag. thanks a lot for this list, please see the patch attached to bug 351332. we hope to get that patch reviewed and in as soon as possible, perhaps not 2.8.0, but hopefully 2.8.1 and 2.9.1. *** This bug has been marked as a duplicate of 351332 ***