⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 20020430-1.c

📁 this is a gcc file, you can download it and learn its usetility, for further detail please look at t
💻 C
字号:
/* PR opt/6516 *//* On x86, something about the structure of this function prevented   cross-jumping from combining the three arms of the switch statement   until the last moment.  After which we did not delete dead code,    which left a reference to the deleted ADDR_VEC.  *//* { dg-do compile } *//* { dg-options "-O2 -frename-registers -fpic" } */typedef unsigned long XID;typedef XID Window;typedef void Display;typedef unsigned long Time;typedef struct {        int type;        unsigned long serial;        int send_event;        Display *display;        Window window;        Window root;        Window subwindow;        Time time;        int x, y;        int x_root, y_root;        unsigned int state;        unsigned int button;        int same_screen;} XButtonEvent;typedef struct {        int type;        unsigned long serial;        int send_event;        Display *display;        Window window;        Window root;        Window subwindow;        Time time;        int x, y;        int x_root, y_root;        unsigned int state;        char is_hint;        int same_screen;} XMotionEvent;typedef struct {        int type;        unsigned long serial;        int send_event;        Display *display;        Window window;        Window root;        Window subwindow;        Time time;        int x, y;        int x_root, y_root;        int mode;        int detail;        int same_screen;        int focus;        unsigned int state;} XCrossingEvent;typedef union _XEvent {        int type;        XButtonEvent xbutton;        XMotionEvent xmotion;        XCrossingEvent xcrossing;} XEvent;typedef struct {        int width, height;        Display *display;} Screen;typedef struct _CorePart {    Screen *screen;} CorePart;typedef struct _WidgetRec {    CorePart core;} WidgetRec;typedef struct _WidgetRec *Widget;typedef struct _SmeRec *SmeObject;typedef struct _SimpleMenuPart {    SmeObject entry_set;} SimpleMenuPart;typedef struct _SimpleMenuRec {    SimpleMenuPart simple_menu;} SimpleMenuRec;typedef struct _SimpleMenuRec* SimpleMenuWidget;typedef short Position;typedef unsigned short Dimension;typedef char Boolean;typedef struct _RectObjPart {    Position x, y;    Dimension width, height;    Dimension border_width;    Boolean managed;    Boolean sensitive;    Boolean ancestor_sensitive;}RectObjPart;typedef struct _RectObjRec {    RectObjPart rectangle;} RectObjRec;typedef struct _RectObjRec *RectObj;SmeObject DoGetEventEntry();SmeObjectGetEventEntry(Widget w, XEvent *event){    int x_loc, y_loc, x_root;    SimpleMenuWidget smw = (SimpleMenuWidget)w;    SmeObject entry;    int warp, move;    switch (event->type) {        case 6:            x_loc = event->xmotion.x;            y_loc = event->xmotion.y;            x_root = event->xmotion.x_root;            break;        case 7:        case 8:            x_loc = event->xcrossing.x;            y_loc = event->xcrossing.y;            x_root = event->xcrossing.x_root;            break;        case 4:        case 5:            x_loc = event->xbutton.x;            y_loc = event->xbutton.y;            x_root = event->xbutton.x_root;            break;        default:            XtAppError(XtWidgetToApplicationContext(w),                       "Unknown event type in GetEventEntry().");            return (((void *)0));    }    if (x_loc < 0 || x_loc >= (((RectObj)smw)->rectangle.width) ||        y_loc < 0 || y_loc >= (((RectObj)smw)->rectangle.height))        return (((void *)0));    if (x_root == ((((w)->core.screen))->width) - 1 &&        (((RectObj)w)->rectangle.x) + (((RectObj)w)->rectangle.width) + ((((RectObj)w)->rectangle.border_width)) > x_root) {        warp = -8;        if (smw->simple_menu.entry_set) {            entry = DoGetEventEntry(w,                                    (((RectObj)smw->simple_menu.entry_set)->rectangle.x)                                    + (((RectObj)smw->simple_menu.entry_set)->rectangle.width) + 1,                                    y_loc);            Unhighlight(w, event, ((void *)0), ((void *)0));            if (entry) {                warp = -(int)(((RectObj)entry)->rectangle.width) >> 1;                move = x_loc - (((RectObj)entry)->rectangle.width) - (((RectObj)entry)->rectangle.x) + (((RectObj)w)->rectangle.border_width);            }            else {                warp = 0;                move = ((((w)->core.screen))->width) -                       ((((RectObj)w)->rectangle.x) + (((RectObj)w)->rectangle.width) + ((((RectObj)w)->rectangle.border_width) << 1));            }        }        else {            warp = 0;            move = ((((w)->core.screen))->width) -                   ((((RectObj)w)->rectangle.x) + (((RectObj)w)->rectangle.width) + ((((RectObj)w)->rectangle.border_width) << 1));        }    }    else if (x_root == 0 && (((RectObj)w)->rectangle.x) < 0) {        warp = 8;        if (smw->simple_menu.entry_set) {            entry = DoGetEventEntry(w, (((RectObj)smw->simple_menu.entry_set)->rectangle.x) - 1,                                    y_loc);            Unhighlight(w, event, ((void *)0), ((void *)0));            if (entry) {                warp = (((RectObj)entry)->rectangle.width) >> 1;                move = x_loc - (((RectObj)entry)->rectangle.x);            }            else                move = x_loc + (((RectObj)w)->rectangle.border_width);        }        else            move = x_loc + (((RectObj)w)->rectangle.border_width);    }    else        move = warp = 0;    if (move)        XtMoveWidget(w, (((RectObj)w)->rectangle.x) + move, (((RectObj)w)->rectangle.y));    if (warp)        XWarpPointer((((w)->core.screen)->display), 0L, 0L, 0, 0, 0, 0, warp, 0);    return (DoGetEventEntry(w, x_loc, y_loc));}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -