summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/torture/pr52493.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2012-03-06 13:13:14 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2012-03-06 13:13:14 +0000
commit80b4d93e491ca5ceff7cdbef8a9957caf5c3369b (patch)
tree5b61b7f72f5092239fe2009364b461df160a3bf9 /gcc/testsuite/gcc.dg/torture/pr52493.c
parentabb4c37a318833ccf0c49c0076b0c96afaac417d (diff)
downloadgcc-80b4d93e491ca5ceff7cdbef8a9957caf5c3369b.tar.gz
2012-03-06 Richard Guenther <rguenther@suse.de>
PR middle-end/52493 * tree-ssa-alias.c (ptr_derefs_may_alias_p): Robustify. * gcc.dg/torture/pr52493.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@184987 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gcc.dg/torture/pr52493.c')
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr52493.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/torture/pr52493.c b/gcc/testsuite/gcc.dg/torture/pr52493.c
new file mode 100644
index 00000000000..b04ac5c17db
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr52493.c
@@ -0,0 +1,38 @@
+/* { dg-do compile } */
+
+struct Time {
+ long int sec;
+ long usec;
+};
+struct Flow {
+ unsigned short iif;
+ struct Time mtime;
+};
+struct NetFlow {
+ unsigned MaxFlows;
+ unsigned HeaderFields;
+ unsigned short *HeaderFormat;
+};
+static struct NetFlow *netflow;
+static struct Time start_time;
+static unsigned char emit_packet[1500];
+inline long int cmpmtime(struct Time *t1, struct Time *t2)
+{
+ return (t1->sec - t2->sec) * 1000 + (t1->usec - t2->usec) / 1000;
+}
+static void fill(int fields, unsigned short *format,
+ struct Flow *flow, void *p)
+{
+ int i;
+ for (i = 0; i < fields; i++)
+ if (format[i] == 21)
+ {
+ unsigned int __v;
+ __v = cmpmtime(&flow->mtime, &start_time);
+ *((unsigned int *) p) = __v;
+ }
+}
+void emit_thread()
+{
+ fill(netflow->HeaderFields, netflow->HeaderFormat, 0, &emit_packet);
+}