OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libmudflap/] [testsuite/] [libmudflap.cth/] [pass40-frag.c] - Blame information for rev 779

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 738 jeremybenn
#include <stdlib.h>
2
#include <stdio.h>
3
#include <pthread.h>
4
 
5
static void *
6
func (void *p)
7
{
8
        return (NULL);
9
}
10
 
11
static void
12
test (void)
13
{
14
        int             rc;
15
        pthread_attr_t  my_pthread_attr;
16
        pthread_t       h;
17
        long            i;
18
 
19
        rc = pthread_attr_init (&my_pthread_attr);
20
 
21
        for (i = 1; i <= 10000; ++i) {
22
                if (i%100 == 0) fprintf (stderr, "%i ", i);
23
                if (i%1000 == 0) fprintf (stderr, "\n");
24
#ifndef STATIC 
25
          /* Some glibc versions don't like static multithreaded programs doing this. */
26
                if (i==5000) __mf_set_options ("-thread-stack=192");
27
#endif
28
                rc = pthread_create (&h, &my_pthread_attr,
29
                        func, NULL);
30
                if (rc)
31
                        break;
32
 
33
                rc = pthread_join (h, NULL);
34
                if (rc)
35
                        break;
36
        }
37
 
38
        rc = pthread_attr_destroy (&my_pthread_attr);
39
}
40
 
41
int main ()
42
{
43
        test ();
44
 
45
        return (0);
46
}
47
 
48
/* { dg-timeout 30 } */
49
/* { dg-output "100 200 300 400 500 600 700 800 900 1000 \n" } */
50
/* { dg-output "1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 \n" } */
51
/* { dg-output "2100 2200 2300 2400 2500 2600 2700 2800 2900 3000 \n" } */
52
/* { dg-output "3100 3200 3300 3400 3500 3600 3700 3800 3900 4000 \n" } */
53
/* { dg-output "4100 4200 4300 4400 4500 4600 4700 4800 4900 5000 \n" } */
54
/* { dg-output "5100 5200 5300 5400 5500 5600 5700 5800 5900 6000 \n" } */
55
/* { dg-output "6100 6200 6300 6400 6500 6600 6700 6800 6900 7000 \n" } */
56
/* { dg-output "7100 7200 7300 7400 7500 7600 7700 7800 7900 8000 \n" } */
57
/* { dg-output "8100 8200 8300 8400 8500 8600 8700 8800 8900 9000 \n" } */
58
/* { dg-output "9100 9200 9300 9400 9500 9600 9700 9800 9900 10000 \n" } */
59
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.