diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-03-06 13:13:14 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-03-06 13:13:14 +0000 |
commit | 80b4d93e491ca5ceff7cdbef8a9957caf5c3369b (patch) | |
tree | 5b61b7f72f5092239fe2009364b461df160a3bf9 /gcc/testsuite/gcc.dg/torture/pr52493.c | |
parent | abb4c37a318833ccf0c49c0076b0c96afaac417d (diff) | |
download | gcc-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.c | 38 |
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); +} |