| /* { dg-do run } */ |
| /* { dg-options "-O2 -fno-inline" } */ |
| |
| typedef struct _GtkCssStyleProperty GtkCssStyleProperty; |
| |
| struct _GtkCssStyleProperty |
| { |
| int *initial_value; |
| unsigned int id; |
| unsigned int inherit :1; |
| unsigned int animated :1; |
| unsigned int affects_size :1; |
| unsigned int affects_font :1; |
| |
| int * parse_value; |
| int * query_value; |
| int * assign_value; |
| }; |
| |
| void |
| g_assertion_message_expr (const char *domain, |
| const char *file, |
| int line, |
| const char *func, |
| const char *expr) __attribute__((__noreturn__)); |
| |
| void |
| g_assertion_message_expr (const char *domain, |
| const char *file, |
| int line, |
| const char *func, |
| const char *expr) |
| { |
| __builtin_abort (); |
| } |
| int |
| get_id (GtkCssStyleProperty *property) |
| { |
| return 1; |
| } |
| int |
| _gtk_css_style_property_get_type () |
| { |
| return 1; |
| } |
| |
| GtkCssStyleProperty * |
| g_object_new (int object_type, |
| const char *first_property_name, |
| ...) |
| { |
| return (GtkCssStyleProperty *) __builtin_malloc (sizeof (GtkCssStyleProperty)); |
| } |
| |
| typedef enum { |
| INHERIT = (1 << 0), |
| ANIMATED = (1 << 1), |
| RESIZE = (1 << 2), |
| FONT = (1 << 3) |
| } GtkStylePropertyFlags; |
| |
| int t = 0; |
| void |
| gtk_css_style_property_register (const char * name, |
| int expected_id, |
| int value_type, |
| int flags, |
| int *parse_value, |
| int *query_value, |
| int *assign_value, |
| int *initial_value) |
| { |
| GtkCssStyleProperty *node; |
| |
| do |
| { |
| if (__builtin_expect (__extension__ ( |
| { |
| int _g_boolean_var_; |
| if (initial_value != ((void *)0)) |
| _g_boolean_var_ = 1; |
| else |
| _g_boolean_var_ = 0; |
| _g_boolean_var_; |
| }), |
| 1)) |
| ; |
| else |
| g_assertion_message_expr ("Gtk", |
| "gtkcssstylepropertyimpl.c", |
| 85, |
| ((const char*) (__PRETTY_FUNCTION__)), |
| "initial_value != NULL"); |
| } while (0); |
| |
| do |
| { |
| if (__builtin_expect (__extension__ ( |
| { |
| int _g_boolean_var_; |
| if (parse_value != ((void *)0)) |
| _g_boolean_var_ = 1; |
| else |
| _g_boolean_var_ = 0; |
| _g_boolean_var_; |
| }), |
| 1)) |
| ; |
| else |
| g_assertion_message_expr ("Gtk", |
| "gtkcssstylepropertyimpl.c", |
| 86, |
| ((const char*) (__PRETTY_FUNCTION__)), |
| "parse_value != NULL"); |
| } while (0); |
| |
| do |
| { |
| if (__builtin_expect (__extension__ ( |
| { |
| int _g_boolean_var_; |
| if (value_type == ((int) ((1) << (2))) |
| || query_value != ((void *)0)) |
| _g_boolean_var_ = 1; |
| else |
| _g_boolean_var_ = 0; |
| _g_boolean_var_; |
| }), |
| 1)) |
| ; |
| else |
| g_assertion_message_expr ("Gtk", |
| "gtkcssstylepropertyimpl.c", |
| 87, ((const char*) (__PRETTY_FUNCTION__)), |
| "value_type == NONE || query_value != NULL"); |
| } while (0); |
| |
| /* FLAGS is changed in a cond_exec instruction with pr57637. */ |
| if (flags == 15) |
| t = 15; |
| |
| do |
| { |
| if (__builtin_expect (__extension__ ( |
| { |
| int _g_boolean_var_; |
| if (value_type == ((1) << (2)) |
| || assign_value != ((void *)0)) |
| _g_boolean_var_ = 1; |
| else |
| _g_boolean_var_ = 0; |
| _g_boolean_var_; |
| }), |
| 1)) |
| ; |
| else |
| g_assertion_message_expr ("Gtk", |
| "gtkcssstylepropertyimpl.c", |
| 88, ((const char*) (__PRETTY_FUNCTION__)), |
| "value_type == NONE || assign_value != NULL"); |
| } while (0); |
| |
| node = g_object_new ((_gtk_css_style_property_get_type ()), |
| "value-type", value_type, |
| "affects-size", (flags & RESIZE) ? (0) : (!(0)), |
| "affects-font", (flags & FONT) ? (!(0)) : (0), |
| "animated", (flags & ANIMATED) ? (!(0)) : (0), |
| "inherit", (flags & INHERIT) ? (!(0)) : (0), |
| "initial-value", initial_value, |
| "name", name, |
| ((void *)0)); |
| |
| node->parse_value = parse_value; |
| node->query_value = query_value; |
| node->assign_value = assign_value; |
| |
| do |
| { |
| if (__builtin_expect (__extension__ ( |
| { |
| int _g_boolean_var_; |
| if (get_id (node) == expected_id) |
| _g_boolean_var_ = 1; |
| else |
| _g_boolean_var_ = 0; |
| _g_boolean_var_; |
| }), |
| 1)) |
| ; |
| else |
| g_assertion_message_expr ("Gtk", |
| "gtkcssstylepropertyimpl.c", |
| 106, |
| ((const char*) (__PRETTY_FUNCTION__)), |
| "get_id (node) == expected_id"); |
| } while (0); |
| } |
| |
| int main () |
| { |
| gtk_css_style_property_register ("test", 1, 4, 15, &t, &t, &t, &t); |
| |
| if (t != 15) |
| __builtin_abort (); |
| return 0; |
| } |