From b4a4e6ae0e06179b1ab6f91af0f6a60ca301aa75 Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Sun, 8 Aug 2010 15:45:22 +0000 Subject: [PATCH] re PR tree-optimization/45109 (ICE: in get_constraint_for_component_ref, at tree-ssa-structalias.c:2932) 2010-08-08 Richard Guenther PR tree-optimization/45109 * gcc.c-torture/compile/pr45109.c: New testcase. From-SVN: r163007 --- gcc/testsuite/ChangeLog | 5 +++ gcc/testsuite/gcc.c-torture/compile/pr45109.c | 38 +++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 gcc/testsuite/gcc.c-torture/compile/pr45109.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 052b8bb42347..71d33ddf9e8d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-08-08 Richard Guenther + + PR tree-optimization/45109 + * gcc.c-torture/compile/pr45109.c: New testcase. + 2010-08-08 Uros Bizjak * gcc.dg/march.c: Skip if -march defined. diff --git a/gcc/testsuite/gcc.c-torture/compile/pr45109.c b/gcc/testsuite/gcc.c-torture/compile/pr45109.c new file mode 100644 index 000000000000..0e46c38409f1 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/pr45109.c @@ -0,0 +1,38 @@ +struct o_fsm_t; +struct o_fsm_event_t; + +typedef void (*fn_t) (struct o_fsm_t *, + struct o_fsm_event_t const *); + +struct o_fsm_state_t { + fn_t dispatch; +}; + +struct o_fsm_t { + fn_t dispatch; +}; + +extern struct o_fsm_state_t o_fsm_tran(struct o_fsm_t *fsm, + struct o_fsm_state_t next_state); +static void plist_parser_state_start(struct o_fsm_t *fsm, + struct o_fsm_event_t const *fsm_event); + +struct o_fsm_state_t o_fsm_state(fn_t dispatch_fcn) +{ + return *(struct o_fsm_state_t *)&dispatch_fcn; +} + +typedef struct _o_plist_parser_t { + struct o_fsm_t fsm; +} o_plist_parser_t; + +static void plist_parser_state_start(struct o_fsm_t *fsm, + struct o_fsm_event_t const *fsm_event) +{ +} + +void o_plist_deserialize_xml(int fin) +{ + o_plist_parser_t parser; + o_fsm_tran(&parser.fsm, o_fsm_state(plist_parser_state_start)); +}