aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2010-08-08 15:45:22 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2010-08-08 15:45:22 +0000
commitb4a4e6ae0e06179b1ab6f91af0f6a60ca301aa75 (patch)
tree7c6ec5042fac531cfdc47f01a64fb6d8ff62f5b3 /gcc
parentcf00499e1927b09933965b959da6054e8f76e319 (diff)
downloadgcc-b4a4e6ae0e06179b1ab6f91af0f6a60ca301aa75.zip
gcc-b4a4e6ae0e06179b1ab6f91af0f6a60ca301aa75.tar.gz
gcc-b4a4e6ae0e06179b1ab6f91af0f6a60ca301aa75.tar.bz2
re PR tree-optimization/45109 (ICE: in get_constraint_for_component_ref, at tree-ssa-structalias.c:2932)
2010-08-08 Richard Guenther <rguenther@suse.de> PR tree-optimization/45109 * gcc.c-torture/compile/pr45109.c: New testcase. From-SVN: r163007
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr45109.c38
2 files changed, 43 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 052b8bb..71d33dd 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2010-08-08 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45109
+ * gcc.c-torture/compile/pr45109.c: New testcase.
+
2010-08-08 Uros Bizjak <ubizjak@gmail.com>
* 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 0000000..0e46c38
--- /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));
+}