Debian Bug report logs - #207516
[PR 12158] [3.3 regression] [hppa] compilation does not terminate

version graph

Package: gcc-3.3; Maintainer for gcc-3.3 is Philipp Kern <pkern@debian.org>;

Reported by: LaMont Jones <lamont@debian.org>

Date: Wed, 27 Aug 2003 16:18:03 UTC

Severity: important

Tags: upstream

Fixed in version gcc-3.3/1:3.3.3ds2-0pre2

Done: Matthias Klose <doko@debian.org>

Bug is archived. No further changes may be made.

Forwarded to http://gcc.gnu.org/PR12158

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Camm Maguire <camm@enhanced.com>:
Bug#207516; Package lam. Full text and rfc822 format available.

Acknowledgement sent to lamont+buildd@hp.com:
New Bug report received and forwarded. Copy sent to Camm Maguire <camm@enhanced.com>. Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: lamont+buildd@hp.com
To: submit@bugs.debian.org
Subject: lam_6.5.9-2(hppa/unstable): FTBFS: build times out
Date: Wed, 27 Aug 2003 10:14:04 -0600
Package: lam
Version: 6.5.9-2
Severity: serious

There was an error while trying to autobuild your package:

> Automatic build of lam_6.5.9-2 on sarti by sbuild/hppa 1.170.4
> Build started at 20030827-1431

[...]

> ** Using build dependencies supplied by package:
> Build-Depends: autoconf,automake,debhelper ( >= 2 ),g77,texinfo,autotools-dev,help2man

[...]

> **** The following central src deps are (probably) missing:
>   f2c, fort77, rsh-client

[...]

> hppa-linux-gcc -DHAVE_CONFIG_H -I. -I. -I../../share/include -DLAM_BUILDING=1 -I../../share/include -O -c barrier.c -o barrier.o
> echo timestamp > barrier.lo
> /bin/sh ../../libtool --mode=compile hppa-linux-gcc -DHAVE_CONFIG_H -I. -I. -I../../share/include -DLAM_BUILDING=1    -I../../share/include -O  -c -o bcast.lo `test -f bcast.c || echo './'`bcast.c
> hppa-linux-gcc -DHAVE_CONFIG_H -I. -I. -I../../share/include -DLAM_BUILDING=1 -I../../share/include -O -c bcast.c -o bcast.o
> make[2]: *** wait: No child processes.  Stop.
> make[2]: *** Waiting for unfinished jobs....
> make[2]: *** wait: No child processes.  Stop.
> make[3]: *** wait: No child processes.  Stop.
> make[3]: *** Waiting for unfinished jobs....
> make[3]: *** wait: No child processes.  Stop.
> make[1]: *** [all-recursive] Terminated
> Terminated
> make: *** [debian/static/usr/lib/lam/lib/liblam.a] Terminated
> make[4]: *** [bcast.lo] Error 1
> Build killed with signal 15 after 150 minutes of inactivity

A full build log can be found at:
http://buildd.debian.org/build.php?arch=hppa&pkg=lam&ver=6.5.9-2




Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#207516; Package lam. Full text and rfc822 format available.

Acknowledgement sent to Camm Maguire <camm@enhanced.com>:
Extra info received and forwarded to list. Full text and rfc822 format available.

Message #10 received at 207516@bugs.debian.org (full text, mbox):

From: Camm Maguire <camm@enhanced.com>
To: 207516@bugs.debian.org,control@bugs.debian.org
Subject: lam_6.5.9-2(hppa/unstable): FTBFS: build times out (6/6)
Date: Tue, 02 Sep 2003 12:01:26 -0400
[Message part 1 (message/partial, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#207516; Package lam. Full text and rfc822 format available.

Acknowledgement sent to Camm Maguire <camm@enhanced.com>:
Extra info received and forwarded to list. Full text and rfc822 format available.

Message #15 received at 207516@bugs.debian.org (full text, mbox):

From: Camm Maguire <camm@enhanced.com>
To: 207516@bugs.debian.org,control@bugs.debian.org
Subject: lam_6.5.9-2(hppa/unstable): FTBFS: build times out (1/6)
Date: Tue, 02 Sep 2003 12:01:26 -0400
[Message part 1 (message/partial, inline)]
To: 207516@bugs.debian.org,control@bugs.debian.org
Subject: lam_6.5.9-2(hppa/unstable): FTBFS: build times out
reassign 207516 gcc-3.3
thanks

gcc-3.3 fails to exit when compiling the following preprocessed source
file on hppa with the following flags:

gcc-3.3 -DHAVE_CONFIG_H -I. -I. -I../../share/include -DLAM_BUILDING=1    -I../../share/include -O  -c bcast.c

Dropping the -O allows compilation to succeed normally.

gcc-3.3 -v
Reading specs from /usr/lib/gcc-lib/hppa-linux/3.3.2/specs
Configured with: ../src/configure -v --enable-languages=c,c++,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-sjlj-exceptions --enable-clocale=gnu --enable-debug --enable-objc-gc hppa-linux
Thread model: posix
gcc version 3.3.2 20030812 (Debian prerelease)
camm@paer:~/lam-6.5.9/share/mpi$ 

=============================================================================
camm@paer:~/lam-6.5.9/share/mpi$ cpp -DHAVE_CONFIG_H -I. -I. -I../../share/include -DLAM_BUILDING=1    -I../../share/include  bcast.c
# 1 "bcast.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "bcast.c"
# 28 "bcast.c"
# 1 "../../share/include/lam_config.h" 1
# 250 "../../share/include/lam_config.h"
typedef int lam_thread_t;
typedef int lam_real_mutex_t;
# 460 "../../share/include/lam_config.h"
typedef double LAM_LONG_DOUBLE;
# 29 "bcast.c" 2

# 1 "../../share/include/app_mgmt.h" 1
# 23 "../../share/include/app_mgmt.h"
# 1 "../../share/include/lam.h" 1
# 24 "../../share/include/lam.h"
# 1 "../../share/include/net.h" 1
# 27 "../../share/include/net.h"
# 1 "../../share/include/kreq.h" 1
# 23 "../../share/include/kreq.h"
# 1 "../../share/include/all_queue.h" 1
# 59 "../../share/include/all_queue.h"
# 1 "../../share/include/portable.h" 1
# 24 "../../share/include/portable.h"
# 1 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/limits.h" 1 3 4
# 11 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/limits.h" 3 4
# 1 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/syslimits.h" 1 3 4






# 1 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/limits.h" 1 3 4
# 122 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/limits.h" 3 4
# 1 "/usr/include/limits.h" 1 3 4
# 26 "/usr/include/limits.h" 3 4
# 1 "/usr/include/features.h" 1 3 4
# 291 "/usr/include/features.h" 3 4
# 1 "/usr/include/sys/cdefs.h" 1 3 4
# 292 "/usr/include/features.h" 2 3 4
# 314 "/usr/include/features.h" 3 4
# 1 "/usr/include/gnu/stubs.h" 1 3 4
# 315 "/usr/include/features.h" 2 3 4
# 27 "/usr/include/limits.h" 2 3 4
# 45 "/usr/include/limits.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 46 "/usr/include/limits.h" 2 3 4
# 144 "/usr/include/limits.h" 3 4
# 1 "/usr/include/bits/posix1_lim.h" 1 3 4
# 126 "/usr/include/bits/posix1_lim.h" 3 4
# 1 "/usr/include/bits/local_lim.h" 1 3 4
# 36 "/usr/include/bits/local_lim.h" 3 4
# 1 "/usr/include/linux/limits.h" 1 3 4
# 37 "/usr/include/bits/local_lim.h" 2 3 4
# 127 "/usr/include/bits/posix1_lim.h" 2 3 4
# 145 "/usr/include/limits.h" 2 3 4



# 1 "/usr/include/bits/posix2_lim.h" 1 3 4
# 149 "/usr/include/limits.h" 2 3 4
# 123 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/limits.h" 2 3 4
# 8 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/syslimits.h" 2 3 4
# 12 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/limits.h" 2 3 4
# 25 "../../share/include/portable.h" 2
# 75 "../../share/include/portable.h"
typedef short int2;


typedef unsigned short uint2;
# 91 "../../share/include/portable.h"
typedef int int4;


typedef unsigned int uint4;
# 134 "../../share/include/portable.h"
typedef long long int8;


typedef unsigned long long uint8;





typedef float float4;







typedef double float8;
# 60 "../../share/include/all_queue.h" 2




struct aq_desc {
        int4 aq_maxnelem;
        int4 aq_nelem;
        int4 aq_elemsize;
        int4 aq_first;
        int4 aq_last;
        void *aq_queue;
};




typedef struct aq_desc QUEUE;
typedef struct aq_desc SQUEUE;





extern QUEUE *aq_init (int4 size, int4 elemsize);
extern SQUEUE *aqs_init (int4 size, int4 elemsize, void *queue, SQUEUE *aqsd);

extern int aq_delete (QUEUE *aqd);
extern int aq_expand (QUEUE *aqd, int4 newsize);
extern int aq_insert (QUEUE *aqd, void *elem);
extern int aq_shove (QUEUE *aqd, void *elem);
extern void aq_free (QUEUE *aqd);
extern void *aq_find (QUEUE *aqd);
# 24 "../../share/include/kreq.h" 2
# 58 "../../share/include/kreq.h"
struct kmsg {
        int4 k_event;
        int4 k_type;
        int4 k_length;
        int4 k_flags;





        char *k_msg;
};
# 117 "../../share/include/kreq.h"
struct kreq {
        int4 kq_req;
        int4 kq_index;
        int4 kq_pid;
        int4 kq_priority;
        int4 kq_signal;
        int4 kq_fyi[9];
        struct kmsg kq_msg;
        struct kmsg kq_msg2;
};




struct kreply {
        int4 kr_reply;
        int4 kr_signal;
        int4 kr_length;
        int4 kr_event;
        int4 kr_type;
        int4 kr_state;
        int4 kr_priority;
        int4 kr_index;
        int4 kr_sigs;
        int4 kr_fyi[9];
        double kr_blktime;
};




struct kstatus {
        int4 ks_state;
        int4 ks_priority;
        int4 ks_signal;
        int4 ks_event;
        int4 ks_type;
        int4 ks_length;
        int4 ks_fyi[9];
};




struct kproc {
        struct kproc *kp_next;
        int4 kp_pid;
        int4 kp_index;
        int4 kp_priority;
        int4 kp_port;
        int4 kp_state;
        int4 kp_signal;
        int4 kp_flags;
        int4 kp_fyi[9];
        struct kmsg kp_msg;
        struct kmsg kp_msg2;
        QUEUE *kp_kqueue;
        void (*((*kp_run)()))();

        double kp_blktime;
};





extern int atkexit(void (*exitfunc)(), char *arg);
extern int kattach(int pri);
extern int kbgetpid(void);
extern int kcreate(const char *path, char **argv);
extern int kcreatev(const char *path, char **argv,
                                char **envv, char *wrkdir, int *fds);
extern int kdetach(int pid);
extern int kenter(const char *name, int pri);
extern int kinit(int pri);
extern int krecv(struct kmsg *pkmsg);
extern int krecvfront(struct kmsg *pkmsg);
extern int krecvback(struct kmsg *pkmsg);
extern int ksend(struct kmsg *pkmsg);
extern int ksr(struct kmsg *pkmsg, struct kmsg *pkmsg2);
extern int ksrfront(struct kmsg *pkmsg, struct kmsg *pkmsg2);
extern int ksrback(struct kmsg *pkmsg2);
extern int kstate(int pid, struct kstatus *pstate);
extern void kexit(int status);
extern void _kexit(int status);
# 28 "../../share/include/net.h" 2
# 128 "../../share/include/net.h"
struct nmsg {
        int4 nh_dl_event;
        int4 nh_dl_link;
        int4 nh_node;
        int4 nh_event;
        int4 nh_type;
        int4 nh_length;
        int4 nh_flags;
# 153 "../../share/include/net.h"
        int4 nh_data[8];
        char *nh_msg;
};
# 169 "../../share/include/net.h"
struct netframe {
        struct nmsg nf_head;
        char nf_msg[8192];
};





extern int drecv (struct nmsg *nhead);
extern int dsend (struct nmsg *nhead);
extern int dsfr (struct nmsg *nhs, struct nmsg *nhr);
extern int dsfrfront (struct nmsg *nhs, struct nmsg *nhr);
extern int dsfrback (struct nmsg *nhs);
extern int dtry_recv (struct nmsg *nhead);
extern int dtry_send (struct nmsg *nhead);
extern int frecv (struct nmsg *nhead);
extern int frecvfront (struct nmsg *nhead);
extern int frecvback (struct nmsg *nhead);
extern int getnodes (int4 *p, int4 n, int4 tp, int4 msk);
extern int nprobe (struct nmsg *nhead);
extern int nrecv (struct nmsg *nhead);
extern int nsend (struct nmsg *nhead);
extern int ntry_recv (struct nmsg *nhead);
extern int ntry_send (struct nmsg *nhead);
extern int precv (struct nmsg *nhead);
extern int precvclose (struct nmsg *nhead);
extern int precvopen (struct nmsg *nhead);
extern int psend (struct nmsg *nhead);
extern int psendclose (struct nmsg *nhead);
extern int psendopen (struct nmsg *nhead);
extern int trecv (struct nmsg *nhead);
extern int tsend (struct nmsg *nhead);
extern int4 getnodeid (void);
extern int4 getnodetype (void);
extern int4 getntype (int4 type, int4 mask);
extern int4 getorigin (void);




extern double ttime (void);
# 25 "../../share/include/lam.h" 2

# 1 "../../share/include/terror.h" 1
# 23 "../../share/include/terror.h"
# 1 "../../share/include/typical.h" 1
# 46 "../../share/include/typical.h"
typedef unsigned int unint;
# 24 "../../share/include/terror.h" 2
# 119 "../../share/include/terror.h"
# 1 "/usr/include/errno.h" 1 3 4
# 32 "/usr/include/errno.h" 3 4




# 1 "/usr/include/bits/errno.h" 1 3 4
# 25 "/usr/include/bits/errno.h" 3 4
# 1 "/usr/include/linux/errno.h" 1 3 4



# 1 "/usr/include/asm/errno.h" 1 3 4
# 5 "/usr/include/linux/errno.h" 2 3 4
# 26 "/usr/include/bits/errno.h" 2 3 4
# 35 "/usr/include/bits/errno.h" 3 4
extern int *__errno_location (void) ;
# 37 "/usr/include/errno.h" 2 3 4
# 59 "/usr/include/errno.h" 3 4

# 120 "../../share/include/terror.h" 2
# 133 "../../share/include/terror.h"
extern void lam_errorstr (char *emsgbuf, unint emsglen);
extern void lam_perror (const char *umsg);
extern void lamfail (char *umsg);
extern void lampanic (char *umsg);

extern void panic (char *umsg);
extern void terror (const char *msg);
# 27 "../../share/include/lam.h" 2

# 1 "../../share/include/t_types.h" 1
# 117 "../../share/include/t_types.h"
extern uint4 rw (uint4 oword);
extern void rev4 (void *src, void *dest);
extern void rev8 (void *src, void *dest);
extern void revn (void *src, void *dest, int size);
extern void mrev4 (void *array, int num);
extern void mrev8 (void *array, int num);
extern void mrevn (void *array, int size, int num);
extern void ltoieeef (float *src, void *dest);
extern void ltoieeed (double *src, void *dest);
extern void ieeetolf (void *src, float *dest);
extern void ieeetold (void *src, double *dest);
extern void mltoieeef (float *array, int num);
extern void mltoieeed (double *array, int num);
extern void mieeetolf (float *array, int num);
extern void mieeetold (double *array, int num);


extern void ltoieeeld (LAM_LONG_DOUBLE *src, void *dest);
extern void ieeetolld (void *src, LAM_LONG_DOUBLE *dest);
extern void mltoieeeld (LAM_LONG_DOUBLE *array, int num);
extern void mieeetolld (LAM_LONG_DOUBLE *array, int num);
# 29 "../../share/include/lam.h" 2
# 24 "../../share/include/app_mgmt.h" 2
# 47 "../../share/include/app_mgmt.h"
struct _gps {
        int4 gps_node;
        int4 gps_pid;
        int4 gps_idx;
        int4 gps_grank;
};





extern int app_doom (int app_n, struct _gps *app, int sig);

extern int app_sendprocs (int np, struct _gps *w);
# 31 "bcast.c" 2
# 1 "../../share/include/blktype.h" 1
# 362 "../../share/include/blktype.h"
extern char *blktype (int4 type);
# 32 "bcast.c" 2
# 1 "../../share/include/mpi.h" 1
# 38 "../../share/include/mpi.h"
typedef struct _status MPI_Status;
typedef struct _group *MPI_Group;
typedef struct _comm *MPI_Comm;
typedef struct _dtype *MPI_Datatype;
typedef struct _req *MPI_Request;
typedef struct _op *MPI_Op;
typedef struct _errhdl *MPI_Errhandler;
typedef struct _info *MPI_Info;
typedef struct _window *MPI_Win;
typedef void *MPI_Buffer;
typedef long MPI_Aint;
typedef int MPI_Fint;
# 58 "../../share/include/mpi.h"
typedef int (MPI_Copy_function)(MPI_Comm, int, void *,
                                        void *, void *, int *);
typedef int (MPI_Delete_function)(MPI_Comm, int, void *, void *);
typedef void (MPI_Comm_errhandler_fn)(MPI_Comm *, int *, ...);
typedef void (MPI_Win_errhandler_fn)(MPI_Win *, int *, ...);
typedef void (MPI_Handler_function)(MPI_Comm *, int *, ...);
typedef void (MPI_User_function)(void *, void *, int *, MPI_Datatype *);
typedef int (MPI_Comm_copy_attr_function)(MPI_Comm, int, void *,
                                                void *, void *, int *);
typedef int (MPI_Comm_delete_attr_function)(MPI_Comm, int, void *, void *);
typedef int (MPI_Type_copy_attr_function)(MPI_Datatype, int, void *,
                                                void *, void *, int *);
typedef int (MPI_Type_delete_attr_function)(MPI_Datatype, int,
                                                void *, void *);
typedef int (MPI_Win_copy_attr_function)(MPI_Win, int, void *,
                                                void *, void *, int *);
typedef int (MPI_Win_delete_attr_function)(MPI_Win, int, void *, void *);
# 280 "../../share/include/mpi.h"
struct _status {
        int MPI_SOURCE;
        int MPI_TAG;
        int MPI_ERROR;
        int st_length;
};




extern struct _comm lam_mpi_comm_world;
extern struct _comm lam_mpi_comm_self;

extern struct _group lam_mpi_group_empty;

extern struct _op lam_mpi_max, lam_mpi_min;
extern struct _op lam_mpi_sum, lam_mpi_prod;
extern struct _op lam_mpi_land, lam_mpi_band;
extern struct _op lam_mpi_lor, lam_mpi_bor;
extern struct _op lam_mpi_lxor, lam_mpi_bxor;
extern struct _op lam_mpi_maxloc, lam_mpi_minloc;
extern struct _op lam_mpi_replace;

extern struct _dtype lam_mpi_char, lam_mpi_byte;
extern struct _dtype lam_mpi_int, lam_mpi_logic;
extern struct _dtype lam_mpi_short, lam_mpi_long;
extern struct _dtype lam_mpi_float, lam_mpi_double;
extern struct _dtype lam_mpi_long_double;
extern struct _dtype lam_mpi_cplex, lam_mpi_packed;
extern struct _dtype lam_mpi_unsigned_char;
extern struct _dtype lam_mpi_unsigned_short;
extern struct _dtype lam_mpi_unsigned;
extern struct _dtype lam_mpi_unsigned_long;
extern struct _dtype lam_mpi_ub, lam_mpi_lb;
extern struct _dtype lam_mpi_float_int, lam_mpi_double_int;
extern struct _dtype lam_mpi_long_int, lam_mpi_2int;
extern struct _dtype lam_mpi_short_int, lam_mpi_dblcplex;
extern struct _dtype lam_mpi_integer, lam_mpi_real;
extern struct _dtype lam_mpi_dblprec, lam_mpi_character;
extern struct _dtype lam_mpi_2real, lam_mpi_2dblprec;
extern struct _dtype lam_mpi_2integer, lam_mpi_longdbl_int;
extern struct _dtype lam_mpi_wchar, lam_mpi_long_long_int;
extern struct _dtype lam_mpi_unsigned_long_long;

extern struct _errhdl lam_mpi_errors_are_fatal;
extern struct _errhdl lam_mpi_errors_return;

extern MPI_Fint *MPI_F_STATUS_IGNORE;
extern MPI_Fint *MPI_F_STATUSES_IGNORE;
# 384 "../../share/include/mpi.h"
extern int MPI_DUP_FN (MPI_Comm, int, void *, void *, void *, int *);

extern int MPI_COMM_DUP_FN (MPI_Comm, int, void *, void *, void *, int *);

extern int MPI_TYPE_DUP_FN (MPI_Datatype, int, void *, void *, void *, int *);

extern int MPI_WIN_DUP_FN (MPI_Win, int, void *, void *, void *, int *);

extern int MPI_Abort (MPI_Comm, int);
extern int MPI_Accumulate (void *, int, MPI_Datatype, int, MPI_Aint, int, MPI_Datatype, MPI_Op, MPI_Win);

extern int MPI_Address (void *, MPI_Aint *);
extern int MPI_Allgather (void *, int, MPI_Datatype, void *, int, MPI_Datatype, MPI_Comm);

extern int MPI_Allgatherv (void *, int, MPI_Datatype, void *, int *, int *, MPI_Datatype, MPI_Comm);

extern int MPI_Alloc_mem (MPI_Aint size, MPI_Info info, void *baseptr);

extern int MPI_Allreduce (void *, void *, int, MPI_Datatype, MPI_Op, MPI_Comm);

extern int MPI_Alltoall (void *, int, MPI_Datatype, void *, int, MPI_Datatype, MPI_Comm);

extern int MPI_Alltoallv (void *, int *, int *, MPI_Datatype, void *, int *, int *, MPI_Datatype, MPI_Comm);

extern int MPI_Attr_delete (MPI_Comm, int);
extern int MPI_Attr_get (MPI_Comm, int, void *, int *);
extern int MPI_Attr_put (MPI_Comm, int, void *);
extern int MPI_Barrier (MPI_Comm);
extern int MPI_Bcast (void *, int, MPI_Datatype, int, MPI_Comm);
extern int MPI_Bsend (void *, int, MPI_Datatype, int, int, MPI_Comm);
extern int MPI_Bsend_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int MPI_Buffer_attach (void *, int);
extern int MPI_Buffer_detach (void *, int *);
extern int MPI_Cancel (MPI_Request *);
extern int MPI_Cart_coords (MPI_Comm, int, int, int *);
extern int MPI_Cart_create (MPI_Comm, int, int *, int *, int, MPI_Comm *);

extern int MPI_Cartdim_get (MPI_Comm, int *);
extern int MPI_Cart_get (MPI_Comm, int, int *, int *, int *);
extern int MPI_Cart_map (MPI_Comm, int, int *, int *, int *);
extern int MPI_Cart_rank (MPI_Comm, int *, int *);
extern int MPI_Cart_shift (MPI_Comm, int, int, int *, int *);
extern int MPI_Cart_sub (MPI_Comm, int *, MPI_Comm *);
extern int MPI_Close_port (char *);
extern MPI_Fint MPI_Comm_c2f (MPI_Comm);
extern int MPI_Comm_accept (char *, MPI_Info, int, MPI_Comm, MPI_Comm *);

extern int MPI_Comm_compare (MPI_Comm, MPI_Comm, int *);
extern int MPI_Comm_connect (char *, MPI_Info, int, MPI_Comm, MPI_Comm *);

extern int MPI_Comm_create (MPI_Comm, MPI_Group, MPI_Comm *);
extern int MPI_Comm_create_errhandler (MPI_Comm_errhandler_fn *, MPI_Errhandler *);

extern int MPI_Comm_create_keyval (MPI_Comm_copy_attr_function *, MPI_Comm_delete_attr_function *, int *, void *);


extern int MPI_Comm_delete_attr (MPI_Comm, int);
extern int MPI_Comm_disconnect (MPI_Comm *);
extern int MPI_Comm_dup (MPI_Comm, MPI_Comm *);
extern MPI_Comm MPI_Comm_f2c (MPI_Fint);
extern int MPI_Comm_free (MPI_Comm *);
extern int MPI_Comm_free_keyval (int *);
extern int MPI_Comm_get_attr (MPI_Comm, int, void *, int *);
extern int MPI_Comm_get_errhandler (MPI_Comm, MPI_Errhandler *);
extern int MPI_Comm_get_name (MPI_Comm, char *, int *);
extern int MPI_Comm_get_parent (MPI_Comm *);
extern int MPI_Comm_group (MPI_Comm, MPI_Group *);
extern int MPI_Comm_join (int, MPI_Comm *);
extern int MPI_Comm_rank (MPI_Comm, int *);
extern int MPI_Comm_remote_group (MPI_Comm, MPI_Group *);
extern int MPI_Comm_remote_size (MPI_Comm, int *);
extern int MPI_Comm_set_attr (MPI_Comm, int, void *);
extern int MPI_Comm_set_errhandler (MPI_Comm, MPI_Errhandler);
extern int MPI_Comm_set_name (MPI_Comm, char *);
extern int MPI_Comm_size (MPI_Comm, int *);
extern int MPI_Comm_spawn (char *, char **, int, MPI_Info, int, MPI_Comm, MPI_Comm *, int *);

extern int MPI_Comm_spawn_multiple (int, char **, char ***, int *, MPI_Info *, int, MPI_Comm, MPI_Comm *, int *);


extern int MPI_Comm_split (MPI_Comm, int, int, MPI_Comm *);
extern int MPI_Comm_test_inter (MPI_Comm, int *);
extern int MPI_Dims_create (int, int, int *);
extern MPI_Fint MPI_Errhandler_c2f (MPI_Errhandler err);
extern int MPI_Errhandler_create (MPI_Handler_function *, MPI_Errhandler *);

extern MPI_Errhandler MPI_Errhandler_f2c (MPI_Fint f_handle);
extern int MPI_Errhandler_free (MPI_Errhandler *);
extern int MPI_Errhandler_get (MPI_Comm, MPI_Errhandler *);
extern int MPI_Errhandler_set (MPI_Comm, MPI_Errhandler);
extern int MPI_Error_class (int, int *);
extern int MPI_Error_string (int, char *, int *);
extern int MPI_Finalize (void);
extern int MPI_Finalized (int *flag);
extern int MPI_Free_mem (void *base);
extern int MPI_Gather (void *, int, MPI_Datatype, void *, int, MPI_Datatype, int, MPI_Comm);

extern int MPI_Gatherv (void *, int, MPI_Datatype, void *, int *, int *, MPI_Datatype, int, MPI_Comm);

extern int MPI_Get_address (void *, MPI_Aint *);
extern int MPI_Get (void *, int, MPI_Datatype, int, MPI_Aint, int, MPI_Datatype, MPI_Win);

extern int MPI_Get_count (MPI_Status *, MPI_Datatype, int *);
extern int MPI_Get_elements (MPI_Status *, MPI_Datatype, int *);
extern int MPI_Get_processor_name (char *, int *);
extern int MPI_Get_version (int *, int *);
extern int MPI_Graph_create (MPI_Comm, int, int *, int *, int, MPI_Comm *);

extern int MPI_Graphdims_get (MPI_Comm, int *, int *);
extern int MPI_Graph_get (MPI_Comm, int, int, int *, int *);
extern int MPI_Graph_map (MPI_Comm, int, int *, int *, int *);
extern int MPI_Graph_neighbors (MPI_Comm, int, int, int *);
extern int MPI_Graph_neighbors_count (MPI_Comm, int, int *);
extern MPI_Fint MPI_Group_c2f (MPI_Group);
extern int MPI_Group_compare (MPI_Group, MPI_Group, int *);
extern int MPI_Group_difference (MPI_Group, MPI_Group, MPI_Group *);
extern int MPI_Group_excl (MPI_Group, int, int *, MPI_Group *);
extern MPI_Group MPI_Group_f2c (MPI_Fint);
extern int MPI_Group_free (MPI_Group *);
extern int MPI_Group_incl (MPI_Group, int, int *, MPI_Group *);
extern int MPI_Group_intersection (MPI_Group, MPI_Group, MPI_Group *);
extern int MPI_Group_range_excl (MPI_Group, int, int [][3], MPI_Group *);

extern int MPI_Group_range_incl (MPI_Group, int, int [][3], MPI_Group *);

extern int MPI_Group_rank (MPI_Group, int *);
extern int MPI_Group_size (MPI_Group, int *);
extern int MPI_Group_translate_ranks (MPI_Group, int, int *, MPI_Group, int *);

extern int MPI_Group_union (MPI_Group, MPI_Group, MPI_Group *);
extern int MPI_Ibsend (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern MPI_Fint MPI_Info_c2f (MPI_Info);
extern int MPI_Info_create (MPI_Info *);
extern int MPI_Info_delete (MPI_Info, char *);
extern int MPI_Info_dup (MPI_Info, MPI_Info *);
extern MPI_Info MPI_Info_f2c (MPI_Fint);
extern int MPI_Info_free (MPI_Info *);
extern int MPI_Info_get (MPI_Info, char *, int, char *, int *);
extern int MPI_Info_get_nkeys (MPI_Info, int *);
extern int MPI_Info_get_nthkey (MPI_Info, int, char *);
extern int MPI_Info_get_valuelen (MPI_Info, char *, int *, int *);
extern int MPI_Info_set (MPI_Info, char *, char *);
extern int MPI_Init (int *, char ***);
extern int MPI_Initialized (int *);
extern int MPI_Init_thread (int *, char ***, int, int *);
extern int MPI_Intercomm_create (MPI_Comm, int, MPI_Comm, int, int, MPI_Comm *);

extern int MPI_Intercomm_merge (MPI_Comm, int, MPI_Comm *);
extern int MPI_Iprobe (int, int, MPI_Comm, int *, MPI_Status *);
extern int MPI_Irecv (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int MPI_Irsend (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int MPI_Isend (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int MPI_Issend (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int MPI_Is_thread_main (int *);
extern int MPI_Keyval_create (MPI_Copy_function *, MPI_Delete_function *, int *, void *);

extern int MPI_Keyval_free (int *);
extern int MPI_Lookup_name (char *, MPI_Info, char *);
extern MPI_Fint MPI_Op_c2f (MPI_Op op);
extern int MPI_Op_create (MPI_User_function *, int, MPI_Op *);
extern int MPI_Open_port (MPI_Info, char *);
extern MPI_Op MPI_Op_f2c (MPI_Fint f_handle);
extern int MPI_Op_free (MPI_Op *);
extern int MPI_Pack (void *, int, MPI_Datatype, void *, int, int *, MPI_Comm);

extern int MPI_Pack_size (int, MPI_Datatype, MPI_Comm, int *);
extern int MPI_Pcontrol (int level, ...);
extern int MPI_Probe (int, int, MPI_Comm, MPI_Status *);
extern int MPI_Publish_name (char *, MPI_Info, char *);
extern int MPI_Put (void *, int, MPI_Datatype, int, MPI_Aint, int, MPI_Datatype, MPI_Win);

extern int MPI_Query_thread (int *);
extern int MPI_Recv (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status *);

extern int MPI_Recv_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int MPI_Reduce (void *, void *, int, MPI_Datatype, MPI_Op, int, MPI_Comm);

extern int MPI_Reduce_scatter (void *, void *, int *, MPI_Datatype, MPI_Op, MPI_Comm);

extern MPI_Fint MPI_Request_c2f (MPI_Request);
extern MPI_Request MPI_Request_f2c (MPI_Fint);
extern int MPI_Request_free (MPI_Request *);
extern int MPI_Rsend (void *, int, MPI_Datatype, int, int, MPI_Comm);
extern int MPI_Rsend_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int MPI_Scan (void *, void *, int, MPI_Datatype, MPI_Op, MPI_Comm);

extern int MPI_Scatter (void *, int, MPI_Datatype, void *, int, MPI_Datatype, int, MPI_Comm);

extern int MPI_Scatterv (void *, int *, int *, MPI_Datatype, void *, int, MPI_Datatype, int, MPI_Comm);

extern int MPI_Send (void *, int, MPI_Datatype, int, int, MPI_Comm);
extern int MPI_Send_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int MPI_Sendrecv (void *, int, MPI_Datatype, int, int, void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status *);


extern int MPI_Sendrecv_replace (void *, int, MPI_Datatype, int, int, int, int, MPI_Comm, MPI_Status *);

extern int MPI_Ssend (void *, int, MPI_Datatype, int, int, MPI_Comm);
extern int MPI_Ssend_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int MPI_Startall (int, MPI_Request *);
extern int MPI_Start (MPI_Request *);
extern int MPI_Status_c2f (MPI_Status *, MPI_Fint *);
extern int MPI_Status_f2c (MPI_Fint *, MPI_Status *);
extern int MPI_Testall (int, MPI_Request *, int *, MPI_Status *);
extern int MPI_Testany (int, MPI_Request *, int *, int *, MPI_Status *);

extern int MPI_Test (MPI_Request *, int *, MPI_Status *);
extern int MPI_Test_cancelled (MPI_Status *, int *);
extern int MPI_Testsome (int, MPI_Request *, int *, int *, MPI_Status *);

extern int MPI_Topo_test (MPI_Comm, int *);
extern MPI_Fint MPI_Type_c2f (MPI_Datatype);
extern int MPI_Type_commit (MPI_Datatype *);
extern int MPI_Type_contiguous (int, MPI_Datatype, MPI_Datatype *);
extern int MPI_Type_create_darray (int, int, int, int *, int *, int *, int*, int, MPI_Datatype, MPI_Datatype *);


extern int MPI_Type_create_hindexed (int, int *, MPI_Aint *, MPI_Datatype, MPI_Datatype *);

extern int MPI_Type_create_hvector (int, int, MPI_Aint, MPI_Datatype, MPI_Datatype *);

extern int MPI_Type_create_keyval (MPI_Type_copy_attr_function *, MPI_Type_delete_attr_function *, int *, void *);


extern int MPI_Type_create_resized (MPI_Datatype, MPI_Aint, MPI_Aint, MPI_Datatype *);

extern int MPI_Type_create_struct (int, int *, MPI_Aint *, MPI_Datatype *, MPI_Datatype *);

extern int MPI_Type_create_subarray (int, int *, int *, int *, int, MPI_Datatype, MPI_Datatype *);

extern int MPI_Type_delete_attr (MPI_Datatype, int);
extern int MPI_Type_dup (MPI_Datatype, MPI_Datatype *);
extern int MPI_Type_extent (MPI_Datatype, MPI_Aint *);
extern MPI_Datatype MPI_Type_f2c (MPI_Fint);
extern int MPI_Type_free (MPI_Datatype *);
extern int MPI_Type_free_keyval (int *);
extern int MPI_Type_get_attr (MPI_Datatype, int, void *, int *);
extern int MPI_Type_get_contents (MPI_Datatype, int, int, int, int *, MPI_Aint *, MPI_Datatype *);

extern int MPI_Type_get_envelope (MPI_Datatype, int *, int *, int *, int *);

extern int MPI_Type_get_extent (MPI_Datatype, MPI_Aint *, MPI_Aint *);
extern int MPI_Type_get_name (MPI_Datatype, char *, int *);
extern int MPI_Type_get_true_extent (MPI_Datatype, MPI_Aint *, MPI_Aint *);

extern int MPI_Type_hindexed (int, int *, MPI_Aint *, MPI_Datatype, MPI_Datatype *);

extern int MPI_Type_hvector (int, int, MPI_Aint, MPI_Datatype, MPI_Datatype *);

extern int MPI_Type_indexed (int, int *, int *, MPI_Datatype, MPI_Datatype *);

extern int MPI_Type_lb (MPI_Datatype, MPI_Aint *);
extern int MPI_Type_set_attr (MPI_Datatype, int, void *);
extern int MPI_Type_set_name (MPI_Datatype, char *);
extern int MPI_Type_size (MPI_Datatype, int *);
extern int MPI_Type_struct (int, int *, MPI_Aint *, MPI_Datatype *, MPI_Datatype *);

extern int MPI_Type_ub (MPI_Datatype, MPI_Aint *);
extern int MPI_Type_vector (int, int, int, MPI_Datatype, MPI_Datatype *);

extern int MPI_Unpack (void *, int, int *, void *, int, MPI_Datatype, MPI_Comm);

extern int MPI_Unpublish_name (char *, MPI_Info, char *);
extern int MPI_Waitall (int, MPI_Request *, MPI_Status *);
extern int MPI_Waitany (int, MPI_Request *, int *, MPI_Status *);
extern int MPI_Wait (MPI_Request *, MPI_Status *);
extern int MPI_Waitsome (int, MPI_Request *, int *, int *, MPI_Status *);

extern MPI_Fint MPI_Win_c2f (MPI_Win);
extern int MPI_Win_complete (MPI_Win);
extern int MPI_Win_create (void *, MPI_Aint, int, MPI_Info, MPI_Comm, MPI_Win *);

extern int MPI_Win_create_errhandler (MPI_Win_errhandler_fn *, MPI_Errhandler *);

extern int MPI_Win_create_keyval (MPI_Win_copy_attr_function *, MPI_Win_delete_attr_function *, int *, void *);


extern int MPI_Win_delete_attr (MPI_Win, int);
extern MPI_Win MPI_Win_f2c (MPI_Fint);
extern int MPI_Win_fence (int, MPI_Win);
extern int MPI_Win_free (MPI_Win *);
extern int MPI_Win_free_keyval (int *);
extern int MPI_Win_get_attr (MPI_Win, int, void *, int *);
extern int MPI_Win_get_errhandler (MPI_Win, MPI_Errhandler *);
extern int MPI_Win_get_group (MPI_Win, MPI_Group *);
extern int MPI_Win_get_name (MPI_Win, char *, int *);
extern int MPI_Win_post (MPI_Group, int, MPI_Win);
extern int MPI_Win_set_attr (MPI_Win, int, void *);
extern int MPI_Win_set_errhandler (MPI_Win, MPI_Errhandler);
extern int MPI_Win_set_name (MPI_Win, char *);
extern int MPI_Win_start (MPI_Group, int, MPI_Win);
extern int MPI_Win_wait (MPI_Win);
extern double MPI_Wtick (void);
extern double MPI_Wtime (void);




extern int PMPI_DUP_FN (MPI_Comm, int, void *, void *, void *, int *);

extern int PMPI_COMM_DUP_FN (MPI_Comm, int, void *, void *, void *, int *);

extern int PMPI_TYPE_DUP_FN (MPI_Datatype, int, void *, void *, void *, int *);

extern int PMPI_WIN_DUP_FN (MPI_Win, int, void *, void *, void *, int *);


extern int PMPI_Abort (MPI_Comm, int);
extern int PMPI_Accumulate (void *, int, MPI_Datatype, int, MPI_Aint, int, MPI_Datatype, MPI_Op, MPI_Win);

extern int PMPI_Address (void *, MPI_Aint *);
extern int PMPI_Allgather (void *, int, MPI_Datatype, void *, int, MPI_Datatype, MPI_Comm);

extern int PMPI_Allgatherv (void *, int, MPI_Datatype, void *, int *, int *, MPI_Datatype, MPI_Comm);

extern int PMPI_Alloc_mem (MPI_Aint size, MPI_Info info, void *baseptr);

extern int PMPI_Allreduce (void *, void *, int, MPI_Datatype, MPI_Op, MPI_Comm);

extern int PMPI_Alltoall (void *, int, MPI_Datatype, void *, int, MPI_Datatype, MPI_Comm);

extern int PMPI_Alltoallv (void *, int *, int *, MPI_Datatype, void *, int *, int *, MPI_Datatype, MPI_Comm);

extern int PMPI_Attr_delete (MPI_Comm, int);
extern int PMPI_Attr_get (MPI_Comm, int, void *, int *);
extern int PMPI_Attr_put (MPI_Comm, int, void *);
extern int PMPI_Barrier (MPI_Comm);
extern int PMPI_Bcast (void *, int, MPI_Datatype, int, MPI_Comm);
extern int PMPI_Bsend (void *, int, MPI_Datatype, int, int, MPI_Comm);
extern int PMPI_Bsend_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int PMPI_Buffer_attach (void *, int);
extern int PMPI_Buffer_detach (void *, int *);
extern int PMPI_Cancel (MPI_Request *);
extern int PMPI_Cart_coords (MPI_Comm, int, int, int *);
extern int PMPI_Cart_create (MPI_Comm, int, int *, int *, int, MPI_Comm *);

extern int PMPI_Cartdim_get (MPI_Comm, int *);
extern int PMPI_Cart_get (MPI_Comm, int, int *, int *, int *);
extern int PMPI_Cart_map (MPI_Comm, int, int *, int *, int *);
extern int PMPI_Cart_rank (MPI_Comm, int *, int *);
extern int PMPI_Cart_shift (MPI_Comm, int, int, int *, int *);
extern int PMPI_Cart_sub (MPI_Comm, int *, MPI_Comm *);
extern int PMPI_Close_port (char *);
extern MPI_Fint PMPI_Comm_c2f (MPI_Comm);
extern int PMPI_Comm_accept (char *, MPI_Info, int, MPI_Comm, MPI_Comm *);

extern int PMPI_Comm_compare (MPI_Comm, MPI_Comm, int *);
extern int PMPI_Comm_connect (char *, MPI_Info, int, MPI_Comm, MPI_Comm *);

extern int PMPI_Comm_create (MPI_Comm, MPI_Group, MPI_Comm *);
extern int PMPI_Comm_create_errhandler (MPI_Comm_errhandler_fn *, MPI_Errhandler *);

extern int PMPI_Comm_create_keyval (MPI_Comm_copy_attr_function *, MPI_Comm_delete_attr_function *, int *, void *);


extern int PMPI_Comm_delete_attr (MPI_Comm, int);
extern int PMPI_Comm_disconnect (MPI_Comm *);
extern int PMPI_Comm_dup (MPI_Comm, MPI_Comm *);
extern MPI_Comm PMPI_Comm_f2c (MPI_Fint);
extern int PMPI_Comm_free (MPI_Comm *);
extern int PMPI_Comm_free_keyval (int *);
extern int PMPI_Comm_get_attr (MPI_Comm, int, void *, int *);
extern int PMPI_Comm_get_errhandler (MPI_Comm, MPI_Errhandler *);
extern int PMPI_Comm_get_name (MPI_Comm, char *, int *);
extern int PMPI_Comm_get_parent (MPI_Comm *);
extern int PMPI_Comm_group (MPI_Comm, MPI_Group *);
extern int PMPI_Comm_join (int, MPI_Comm *);
extern int PMPI_Comm_rank (MPI_Comm, int *);
extern int PMPI_Comm_remote_group (MPI_Comm, MPI_Group *);
extern int PMPI_Comm_remote_size (MPI_Comm, int *);
extern int PMPI_Comm_set_attr (MPI_Comm, int, void *);
extern int PMPI_Comm_set_errhandler (MPI_Comm, MPI_Errhandler);
extern int PMPI_Comm_set_name (MPI_Comm, char *);
extern int PMPI_Comm_size (MPI_Comm, int *);
extern int PMPI_Comm_spawn (char *, char **, int, MPI_Info, int, MPI_Comm, MPI_Comm *, int *);

extern int PMPI_Comm_spawn_multiple (int, char **, char ***, int *, MPI_Info *, int, MPI_Comm, MPI_Comm *, int *);


extern int PMPI_Comm_split (MPI_Comm, int, int, MPI_Comm *);
extern int PMPI_Comm_test_inter (MPI_Comm, int *);
extern int PMPI_Dims_create (int, int, int *);
extern MPI_Fint PMPI_Errhandler_c2f (MPI_Errhandler err);
extern int PMPI_Errhandler_create (MPI_Handler_function *, MPI_Errhandler *);

extern MPI_Errhandler PMPI_Errhandler_f2c (MPI_Fint f_handle);
extern int PMPI_Errhandler_free (MPI_Errhandler *);
extern int PMPI_Errhandler_get (MPI_Comm, MPI_Errhandler *);
extern int PMPI_Errhandler_set (MPI_Comm, MPI_Errhandler);
extern int PMPI_Error_class (int, int *);
extern int PMPI_Error_string (int, char *, int *);
extern int PMPI_Finalize (void);
extern int PMPI_Finalized (int *flag);
extern int PMPI_Free_mem (void *base);
extern int PMPI_Gather (void *, int, MPI_Datatype, void *, int, MPI_Datatype, int, MPI_Comm);

extern int PMPI_Gatherv (void *, int, MPI_Datatype, void *, int *, int *, MPI_Datatype, int, MPI_Comm);

extern int PMPI_Get_address (void *, MPI_Aint *);
extern int PMPI_Get (void *, int, MPI_Datatype, int, MPI_Aint, int, MPI_Datatype, MPI_Win);

extern int PMPI_Get_count (MPI_Status *, MPI_Datatype, int *);
extern int PMPI_Get_elements (MPI_Status *, MPI_Datatype, int *);
extern int PMPI_Get_processor_name (char *, int *);
extern int PMPI_Get_version (int *, int *);
extern int PMPI_Graph_create (MPI_Comm, int, int *, int *, int, MPI_Comm *);

extern int PMPI_Graphdims_get (MPI_Comm, int *, int *);
extern int PMPI_Graph_get (MPI_Comm, int, int, int *, int *);
extern int PMPI_Graph_map (MPI_Comm, int, int *, int *, int *);
extern int PMPI_Graph_neighbors (MPI_Comm, int, int, int *);
extern int PMPI_Graph_neighbors_count (MPI_Comm, int, int *);
extern MPI_Fint PMPI_Group_c2f (MPI_Group);
extern int PMPI_Group_compare (MPI_Group, MPI_Group, int *);
extern int PMPI_Group_difference (MPI_Group, MPI_Group, MPI_Group *);
extern int PMPI_Group_excl (MPI_Group, int, int *, MPI_Group *);
extern MPI_Group PMPI_Group_f2c (MPI_Fint);
extern int PMPI_Group_free (MPI_Group *);
extern int PMPI_Group_incl (MPI_Group, int, int *, MPI_Group *);
extern int PMPI_Group_intersection (MPI_Group, MPI_Group, MPI_Group *);
extern int PMPI_Group_range_excl (MPI_Group, int, int [][3], MPI_Group *);

extern int PMPI_Group_range_incl (MPI_Group, int, int [][3], MPI_Group *);

extern int PMPI_Group_rank (MPI_Group, int *);
extern int PMPI_Group_size (MPI_Group, int *);
extern int PMPI_Group_translate_ranks (MPI_Group, int, int *, MPI_Group, int *);

extern int PMPI_Group_union (MPI_Group, MPI_Group, MPI_Group *);
extern int PMPI_Ibsend (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern MPI_Fint PMPI_Info_c2f (MPI_Info);
extern int PMPI_Info_create (MPI_Info *);
extern int PMPI_Info_delete (MPI_Info, char *);
extern int PMPI_Info_dup (MPI_Info, MPI_Info *);
extern MPI_Info PMPI_Info_f2c (MPI_Fint);
extern int PMPI_Info_free (MPI_Info *);
extern int PMPI_Info_get (MPI_Info, char *, int, char *, int *);
extern int PMPI_Info_get_nkeys (MPI_Info, int *);
extern int PMPI_Info_get_nthkey (MPI_Info, int, char *);
extern int PMPI_Info_get_valuelen (MPI_Info, char *, int *, int *);
extern int PMPI_Info_set (MPI_Info, char *, char *);
extern int PMPI_Init (int *, char ***);
extern int PMPI_Initialized (int *);
extern int PMPI_Init_thread (int *, char ***, int, int *);
extern int PMPI_Intercomm_create (MPI_Comm, int, MPI_Comm, int, int, MPI_Comm *);

extern int PMPI_Intercomm_merge (MPI_Comm, int, MPI_Comm *);
extern int PMPI_Iprobe (int, int, MPI_Comm, int *, MPI_Status *);
extern int PMPI_Irecv (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int PMPI_Irsend (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int PMPI_Isend (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int PMPI_Issend (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int PMPI_Is_thread_main (int *);
extern int PMPI_Keyval_create (MPI_Copy_function *, MPI_Delete_function *, int *, void *);

extern int PMPI_Keyval_free (int *);
extern int PMPI_Lookup_name (char *, MPI_Info, char *);
extern MPI_Fint MPI_Op_c2f (MPI_Op op);
extern int PMPI_Op_create (MPI_User_function *, int, MPI_Op *);
extern int PMPI_Open_port (MPI_Info, char *);
extern MPI_Op MPI_Op_f2c (MPI_Fint f_handle);
extern int PMPI_Op_free (MPI_Op *);
extern int PMPI_Pack (void *, int, MPI_Datatype, void *, int, int *, MPI_Comm);

extern int PMPI_Pack_size (int, MPI_Datatype, MPI_Comm, int *);
extern int PMPI_Pcontrol (int level, ...);
extern int PMPI_Probe (int, int, MPI_Comm, MPI_Status *);
extern int PMPI_Publish_name (char *, MPI_Info, char *);
extern int PMPI_Put (void *, int, MPI_Datatype, int, MPI_Aint, int, MPI_Datatype, MPI_Win);

extern int PMPI_Query_thread (int *);
extern int PMPI_Recv (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status *);

extern int PMPI_Recv_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int PMPI_Reduce (void *, void *, int, MPI_Datatype, MPI_Op, int, MPI_Comm);

extern int PMPI_Reduce_scatter (void *, void *, int *, MPI_Datatype, MPI_Op, MPI_Comm);

extern MPI_Fint PMPI_Request_c2f (MPI_Request);
extern MPI_Request PMPI_Request_f2c (MPI_Fint);
extern int PMPI_Request_free (MPI_Request *);
extern int PMPI_Rsend (void *, int, MPI_Datatype, int, int, MPI_Comm);
extern int PMPI_Rsend_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int PMPI_Scan (void *, void *, int, MPI_Datatype, MPI_Op, MPI_Comm);

extern int PMPI_Scatter (void *, int, MPI_Datatype, void *, int, MPI_Datatype, int, MPI_Comm);

extern int PMPI_Scatterv (void *, int *, int *, MPI_Datatype, void *, int, MPI_Datatype, int, MPI_Comm);

extern int PMPI_Send (void *, int, MPI_Datatype, int, int, MPI_Comm);
extern int PMPI_Send_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int PMPI_Sendrecv (void *, int, MPI_Datatype, int, int, void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status *);


extern int PMPI_Sendrecv_replace (void *, int, MPI_Datatype, int, int, int, int, MPI_Comm, MPI_Status *);

extern int PMPI_Ssend (void *, int, MPI_Datatype, int, int, MPI_Comm);
extern int PMPI_Ssend_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);




Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#207516; Package lam. Full text and rfc822 format available.

Acknowledgement sent to Camm Maguire <camm@enhanced.com>:
Extra info received and forwarded to list. Full text and rfc822 format available.

Message #20 received at 207516@bugs.debian.org (full text, mbox):

From: Camm Maguire <camm@enhanced.com>
To: 207516@bugs.debian.org,control@bugs.debian.org
Subject: lam_6.5.9-2(hppa/unstable): FTBFS: build times out (5/6)
Date: Tue, 02 Sep 2003 12:01:26 -0400
[Message part 1 (message/partial, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#207516; Package lam. Full text and rfc822 format available.

Acknowledgement sent to Camm Maguire <camm@enhanced.com>:
Extra info received and forwarded to list. Full text and rfc822 format available.

Message #25 received at 207516@bugs.debian.org (full text, mbox):

From: Camm Maguire <camm@enhanced.com>
To: 207516@bugs.debian.org,control@bugs.debian.org
Subject: lam_6.5.9-2(hppa/unstable): FTBFS: build times out (4/6)
Date: Tue, 02 Sep 2003 12:01:26 -0400
[Message part 1 (message/partial, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#207516; Package lam. Full text and rfc822 format available.

Acknowledgement sent to Camm Maguire <camm@enhanced.com>:
Extra info received and forwarded to list. Full text and rfc822 format available.

Message #30 received at 207516@bugs.debian.org (full text, mbox):

From: Camm Maguire <camm@enhanced.com>
To: 207516@bugs.debian.org,control@bugs.debian.org
Subject: lam_6.5.9-2(hppa/unstable): FTBFS: build times out (3/6)
Date: Tue, 02 Sep 2003 12:01:26 -0400
[Message part 1 (message/partial, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#207516; Package lam. Full text and rfc822 format available.

Acknowledgement sent to Camm Maguire <camm@enhanced.com>:
Extra info received and forwarded to list. Full text and rfc822 format available.

Message #35 received at 207516@bugs.debian.org (full text, mbox):

From: Camm Maguire <camm@enhanced.com>
To: 207516@bugs.debian.org,control@bugs.debian.org
Subject: lam_6.5.9-2(hppa/unstable): FTBFS: build times out (2/6)
Date: Tue, 02 Sep 2003 12:01:26 -0400
[Message part 1 (message/partial, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#207516; Package lam. Full text and rfc822 format available.

Acknowledgement sent to Camm Maguire <camm@enhanced.com>:
Extra info received and forwarded to list. Full text and rfc822 format available.

Message #40 received at 207516@bugs.debian.org (full text, mbox):

From: Camm Maguire <camm@enhanced.com>
To: 207516@bugs.debian.org,control@bugs.debian.org
Subject: lam_6.5.9-2(hppa/unstable): FTBFS: build times out (6/6)
Date: Tue, 02 Sep 2003 12:55:53 -0400
[Message part 1 (message/partial, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#207516; Package lam. Full text and rfc822 format available.

Acknowledgement sent to Camm Maguire <camm@enhanced.com>:
Extra info received and forwarded to list. Full text and rfc822 format available.

Message #45 received at 207516@bugs.debian.org (full text, mbox):

From: Camm Maguire <camm@enhanced.com>
To: 207516@bugs.debian.org,control@bugs.debian.org
Subject: lam_6.5.9-2(hppa/unstable): FTBFS: build times out (5/6)
Date: Tue, 02 Sep 2003 12:55:54 -0400
[Message part 1 (message/partial, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#207516; Package lam. Full text and rfc822 format available.

Acknowledgement sent to Camm Maguire <camm@enhanced.com>:
Extra info received and forwarded to list. Full text and rfc822 format available.

Message #50 received at 207516@bugs.debian.org (full text, mbox):

From: Camm Maguire <camm@enhanced.com>
To: 207516@bugs.debian.org,control@bugs.debian.org
Subject: lam_6.5.9-2(hppa/unstable): FTBFS: build times out (3/6)
Date: Tue, 02 Sep 2003 12:55:53 -0400
[Message part 1 (message/partial, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#207516; Package lam. Full text and rfc822 format available.

Acknowledgement sent to Camm Maguire <camm@enhanced.com>:
Extra info received and forwarded to list. Full text and rfc822 format available.

Message #55 received at 207516@bugs.debian.org (full text, mbox):

From: Camm Maguire <camm@enhanced.com>
To: 207516@bugs.debian.org,control@bugs.debian.org
Subject: lam_6.5.9-2(hppa/unstable): FTBFS: build times out (1/6)
Date: Tue, 02 Sep 2003 12:55:53 -0400
[Message part 1 (message/partial, inline)]
To: 207516@bugs.debian.org,control@bugs.debian.org
Subject: lam_6.5.9-2(hppa/unstable): FTBFS: build times out
reassign 207516 gcc-3.3
thanks

gcc fails to exit when compiling the preprocessed source file included
below with the following flags:

camm@paer:~/lam-6.5.9/share/mpi$ gcc-3.3 -DHAVE_CONFIG_H
-I. -I. -I../../share/include -DLAM_BUILDING=1 -I../../share/include
-O -c bcast.c

Dropping the -O enables normal compilation to succeed.

=============================================================================
gcc version:
=============================================================================
camm@paer:~/lam-6.5.9/share/mpi$ gcc-3.3 -v
...
gcc version 3.3.2 20030812 (Debian prerelease)
=============================================================================

camm@paer:~/lam-6.5.9/share/mpi$ cpp -DHAVE_CONFIG_H
-I. -I. -I../../share/include -DLAM_BUILDING=1 -I../../share/include
bcast.c

=============================================================================
# 1 "bcast.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "bcast.c"
# 28 "bcast.c"
# 1 "../../share/include/lam_config.h" 1
# 250 "../../share/include/lam_config.h"
typedef int lam_thread_t;
typedef int lam_real_mutex_t;
# 460 "../../share/include/lam_config.h"
typedef double LAM_LONG_DOUBLE;
# 29 "bcast.c" 2

# 1 "../../share/include/app_mgmt.h" 1
# 23 "../../share/include/app_mgmt.h"
# 1 "../../share/include/lam.h" 1
# 24 "../../share/include/lam.h"
# 1 "../../share/include/net.h" 1
# 27 "../../share/include/net.h"
# 1 "../../share/include/kreq.h" 1
# 23 "../../share/include/kreq.h"
# 1 "../../share/include/all_queue.h" 1
# 59 "../../share/include/all_queue.h"
# 1 "../../share/include/portable.h" 1
# 24 "../../share/include/portable.h"
# 1 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/limits.h" 1 3 4
# 11 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/limits.h" 3 4
# 1 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/syslimits.h" 1 3 4






# 1 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/limits.h" 1 3 4
# 122 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/limits.h" 3 4
# 1 "/usr/include/limits.h" 1 3 4
# 26 "/usr/include/limits.h" 3 4
# 1 "/usr/include/features.h" 1 3 4
# 291 "/usr/include/features.h" 3 4
# 1 "/usr/include/sys/cdefs.h" 1 3 4
# 292 "/usr/include/features.h" 2 3 4
# 314 "/usr/include/features.h" 3 4
# 1 "/usr/include/gnu/stubs.h" 1 3 4
# 315 "/usr/include/features.h" 2 3 4
# 27 "/usr/include/limits.h" 2 3 4
# 45 "/usr/include/limits.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 46 "/usr/include/limits.h" 2 3 4
# 144 "/usr/include/limits.h" 3 4
# 1 "/usr/include/bits/posix1_lim.h" 1 3 4
# 126 "/usr/include/bits/posix1_lim.h" 3 4
# 1 "/usr/include/bits/local_lim.h" 1 3 4
# 36 "/usr/include/bits/local_lim.h" 3 4
# 1 "/usr/include/linux/limits.h" 1 3 4
# 37 "/usr/include/bits/local_lim.h" 2 3 4
# 127 "/usr/include/bits/posix1_lim.h" 2 3 4
# 145 "/usr/include/limits.h" 2 3 4



# 1 "/usr/include/bits/posix2_lim.h" 1 3 4
# 149 "/usr/include/limits.h" 2 3 4
# 123 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/limits.h" 2 3 4
# 8 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/syslimits.h" 2 3 4
# 12 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/limits.h" 2 3 4
# 25 "../../share/include/portable.h" 2
# 75 "../../share/include/portable.h"
typedef short int2;


typedef unsigned short uint2;
# 91 "../../share/include/portable.h"
typedef int int4;


typedef unsigned int uint4;
# 134 "../../share/include/portable.h"
typedef long long int8;


typedef unsigned long long uint8;





typedef float float4;







typedef double float8;
# 60 "../../share/include/all_queue.h" 2




struct aq_desc {
        int4 aq_maxnelem;
        int4 aq_nelem;
        int4 aq_elemsize;
        int4 aq_first;
        int4 aq_last;
        void *aq_queue;
};




typedef struct aq_desc QUEUE;
typedef struct aq_desc SQUEUE;





extern QUEUE *aq_init (int4 size, int4 elemsize);
extern SQUEUE *aqs_init (int4 size, int4 elemsize, void *queue, SQUEUE *aqsd);

extern int aq_delete (QUEUE *aqd);
extern int aq_expand (QUEUE *aqd, int4 newsize);
extern int aq_insert (QUEUE *aqd, void *elem);
extern int aq_shove (QUEUE *aqd, void *elem);
extern void aq_free (QUEUE *aqd);
extern void *aq_find (QUEUE *aqd);
# 24 "../../share/include/kreq.h" 2
# 58 "../../share/include/kreq.h"
struct kmsg {
        int4 k_event;
        int4 k_type;
        int4 k_length;
        int4 k_flags;





        char *k_msg;
};
# 117 "../../share/include/kreq.h"
struct kreq {
        int4 kq_req;
        int4 kq_index;
        int4 kq_pid;
        int4 kq_priority;
        int4 kq_signal;
        int4 kq_fyi[9];
        struct kmsg kq_msg;
        struct kmsg kq_msg2;
};




struct kreply {
        int4 kr_reply;
        int4 kr_signal;
        int4 kr_length;
        int4 kr_event;
        int4 kr_type;
        int4 kr_state;
        int4 kr_priority;
        int4 kr_index;
        int4 kr_sigs;
        int4 kr_fyi[9];
        double kr_blktime;
};




struct kstatus {
        int4 ks_state;
        int4 ks_priority;
        int4 ks_signal;
        int4 ks_event;
        int4 ks_type;
        int4 ks_length;
        int4 ks_fyi[9];
};




struct kproc {
        struct kproc *kp_next;
        int4 kp_pid;
        int4 kp_index;
        int4 kp_priority;
        int4 kp_port;
        int4 kp_state;
        int4 kp_signal;
        int4 kp_flags;
        int4 kp_fyi[9];
        struct kmsg kp_msg;
        struct kmsg kp_msg2;
        QUEUE *kp_kqueue;
        void (*((*kp_run)()))();

        double kp_blktime;
};





extern int atkexit(void (*exitfunc)(), char *arg);
extern int kattach(int pri);
extern int kbgetpid(void);
extern int kcreate(const char *path, char **argv);
extern int kcreatev(const char *path, char **argv,
                                char **envv, char *wrkdir, int *fds);
extern int kdetach(int pid);
extern int kenter(const char *name, int pri);
extern int kinit(int pri);
extern int krecv(struct kmsg *pkmsg);
extern int krecvfront(struct kmsg *pkmsg);
extern int krecvback(struct kmsg *pkmsg);
extern int ksend(struct kmsg *pkmsg);
extern int ksr(struct kmsg *pkmsg, struct kmsg *pkmsg2);
extern int ksrfront(struct kmsg *pkmsg, struct kmsg *pkmsg2);
extern int ksrback(struct kmsg *pkmsg2);
extern int kstate(int pid, struct kstatus *pstate);
extern void kexit(int status);
extern void _kexit(int status);
# 28 "../../share/include/net.h" 2
# 128 "../../share/include/net.h"
struct nmsg {
        int4 nh_dl_event;
        int4 nh_dl_link;
        int4 nh_node;
        int4 nh_event;
        int4 nh_type;
        int4 nh_length;
        int4 nh_flags;
# 153 "../../share/include/net.h"
        int4 nh_data[8];
        char *nh_msg;
};
# 169 "../../share/include/net.h"
struct netframe {
        struct nmsg nf_head;
        char nf_msg[8192];
};





extern int drecv (struct nmsg *nhead);
extern int dsend (struct nmsg *nhead);
extern int dsfr (struct nmsg *nhs, struct nmsg *nhr);
extern int dsfrfront (struct nmsg *nhs, struct nmsg *nhr);
extern int dsfrback (struct nmsg *nhs);
extern int dtry_recv (struct nmsg *nhead);
extern int dtry_send (struct nmsg *nhead);
extern int frecv (struct nmsg *nhead);
extern int frecvfront (struct nmsg *nhead);
extern int frecvback (struct nmsg *nhead);
extern int getnodes (int4 *p, int4 n, int4 tp, int4 msk);
extern int nprobe (struct nmsg *nhead);
extern int nrecv (struct nmsg *nhead);
extern int nsend (struct nmsg *nhead);
extern int ntry_recv (struct nmsg *nhead);
extern int ntry_send (struct nmsg *nhead);
extern int precv (struct nmsg *nhead);
extern int precvclose (struct nmsg *nhead);
extern int precvopen (struct nmsg *nhead);
extern int psend (struct nmsg *nhead);
extern int psendclose (struct nmsg *nhead);
extern int psendopen (struct nmsg *nhead);
extern int trecv (struct nmsg *nhead);
extern int tsend (struct nmsg *nhead);
extern int4 getnodeid (void);
extern int4 getnodetype (void);
extern int4 getntype (int4 type, int4 mask);
extern int4 getorigin (void);




extern double ttime (void);
# 25 "../../share/include/lam.h" 2

# 1 "../../share/include/terror.h" 1
# 23 "../../share/include/terror.h"
# 1 "../../share/include/typical.h" 1
# 46 "../../share/include/typical.h"
typedef unsigned int unint;
# 24 "../../share/include/terror.h" 2
# 119 "../../share/include/terror.h"
# 1 "/usr/include/errno.h" 1 3 4
# 32 "/usr/include/errno.h" 3 4




# 1 "/usr/include/bits/errno.h" 1 3 4
# 25 "/usr/include/bits/errno.h" 3 4
# 1 "/usr/include/linux/errno.h" 1 3 4



# 1 "/usr/include/asm/errno.h" 1 3 4
# 5 "/usr/include/linux/errno.h" 2 3 4
# 26 "/usr/include/bits/errno.h" 2 3 4
# 35 "/usr/include/bits/errno.h" 3 4
extern int *__errno_location (void) ;
# 37 "/usr/include/errno.h" 2 3 4
# 59 "/usr/include/errno.h" 3 4

# 120 "../../share/include/terror.h" 2
# 133 "../../share/include/terror.h"
extern void lam_errorstr (char *emsgbuf, unint emsglen);
extern void lam_perror (const char *umsg);
extern void lamfail (char *umsg);
extern void lampanic (char *umsg);

extern void panic (char *umsg);
extern void terror (const char *msg);
# 27 "../../share/include/lam.h" 2

# 1 "../../share/include/t_types.h" 1
# 117 "../../share/include/t_types.h"
extern uint4 rw (uint4 oword);
extern void rev4 (void *src, void *dest);
extern void rev8 (void *src, void *dest);
extern void revn (void *src, void *dest, int size);
extern void mrev4 (void *array, int num);
extern void mrev8 (void *array, int num);
extern void mrevn (void *array, int size, int num);
extern void ltoieeef (float *src, void *dest);
extern void ltoieeed (double *src, void *dest);
extern void ieeetolf (void *src, float *dest);
extern void ieeetold (void *src, double *dest);
extern void mltoieeef (float *array, int num);
extern void mltoieeed (double *array, int num);
extern void mieeetolf (float *array, int num);
extern void mieeetold (double *array, int num);


extern void ltoieeeld (LAM_LONG_DOUBLE *src, void *dest);
extern void ieeetolld (void *src, LAM_LONG_DOUBLE *dest);
extern void mltoieeeld (LAM_LONG_DOUBLE *array, int num);
extern void mieeetolld (LAM_LONG_DOUBLE *array, int num);
# 29 "../../share/include/lam.h" 2
# 24 "../../share/include/app_mgmt.h" 2
# 47 "../../share/include/app_mgmt.h"
struct _gps {
        int4 gps_node;
        int4 gps_pid;
        int4 gps_idx;
        int4 gps_grank;
};





extern int app_doom (int app_n, struct _gps *app, int sig);

extern int app_sendprocs (int np, struct _gps *w);
# 31 "bcast.c" 2
# 1 "../../share/include/blktype.h" 1
# 362 "../../share/include/blktype.h"
extern char *blktype (int4 type);
# 32 "bcast.c" 2
# 1 "../../share/include/mpi.h" 1
# 38 "../../share/include/mpi.h"
typedef struct _status MPI_Status;
typedef struct _group *MPI_Group;
typedef struct _comm *MPI_Comm;
typedef struct _dtype *MPI_Datatype;
typedef struct _req *MPI_Request;
typedef struct _op *MPI_Op;
typedef struct _errhdl *MPI_Errhandler;
typedef struct _info *MPI_Info;
typedef struct _window *MPI_Win;
typedef void *MPI_Buffer;
typedef long MPI_Aint;
typedef int MPI_Fint;
# 58 "../../share/include/mpi.h"
typedef int (MPI_Copy_function)(MPI_Comm, int, void *,
                                        void *, void *, int *);
typedef int (MPI_Delete_function)(MPI_Comm, int, void *, void *);
typedef void (MPI_Comm_errhandler_fn)(MPI_Comm *, int *, ...);
typedef void (MPI_Win_errhandler_fn)(MPI_Win *, int *, ...);
typedef void (MPI_Handler_function)(MPI_Comm *, int *, ...);
typedef void (MPI_User_function)(void *, void *, int *, MPI_Datatype *);
typedef int (MPI_Comm_copy_attr_function)(MPI_Comm, int, void *,
                                                void *, void *, int *);
typedef int (MPI_Comm_delete_attr_function)(MPI_Comm, int, void *, void *);
typedef int (MPI_Type_copy_attr_function)(MPI_Datatype, int, void *,
                                                void *, void *, int *);
typedef int (MPI_Type_delete_attr_function)(MPI_Datatype, int,
                                                void *, void *);
typedef int (MPI_Win_copy_attr_function)(MPI_Win, int, void *,
                                                void *, void *, int *);
typedef int (MPI_Win_delete_attr_function)(MPI_Win, int, void *, void *);
# 280 "../../share/include/mpi.h"
struct _status {
        int MPI_SOURCE;
        int MPI_TAG;
        int MPI_ERROR;
        int st_length;
};




extern struct _comm lam_mpi_comm_world;
extern struct _comm lam_mpi_comm_self;

extern struct _group lam_mpi_group_empty;

extern struct _op lam_mpi_max, lam_mpi_min;
extern struct _op lam_mpi_sum, lam_mpi_prod;
extern struct _op lam_mpi_land, lam_mpi_band;
extern struct _op lam_mpi_lor, lam_mpi_bor;
extern struct _op lam_mpi_lxor, lam_mpi_bxor;
extern struct _op lam_mpi_maxloc, lam_mpi_minloc;
extern struct _op lam_mpi_replace;

extern struct _dtype lam_mpi_char, lam_mpi_byte;
extern struct _dtype lam_mpi_int, lam_mpi_logic;
extern struct _dtype lam_mpi_short, lam_mpi_long;
extern struct _dtype lam_mpi_float, lam_mpi_double;
extern struct _dtype lam_mpi_long_double;
extern struct _dtype lam_mpi_cplex, lam_mpi_packed;
extern struct _dtype lam_mpi_unsigned_char;
extern struct _dtype lam_mpi_unsigned_short;
extern struct _dtype lam_mpi_unsigned;
extern struct _dtype lam_mpi_unsigned_long;
extern struct _dtype lam_mpi_ub, lam_mpi_lb;
extern struct _dtype lam_mpi_float_int, lam_mpi_double_int;
extern struct _dtype lam_mpi_long_int, lam_mpi_2int;
extern struct _dtype lam_mpi_short_int, lam_mpi_dblcplex;
extern struct _dtype lam_mpi_integer, lam_mpi_real;
extern struct _dtype lam_mpi_dblprec, lam_mpi_character;
extern struct _dtype lam_mpi_2real, lam_mpi_2dblprec;
extern struct _dtype lam_mpi_2integer, lam_mpi_longdbl_int;
extern struct _dtype lam_mpi_wchar, lam_mpi_long_long_int;
extern struct _dtype lam_mpi_unsigned_long_long;

extern struct _errhdl lam_mpi_errors_are_fatal;
extern struct _errhdl lam_mpi_errors_return;

extern MPI_Fint *MPI_F_STATUS_IGNORE;
extern MPI_Fint *MPI_F_STATUSES_IGNORE;
# 384 "../../share/include/mpi.h"
extern int MPI_DUP_FN (MPI_Comm, int, void *, void *, void *, int *);

extern int MPI_COMM_DUP_FN (MPI_Comm, int, void *, void *, void *, int *);

extern int MPI_TYPE_DUP_FN (MPI_Datatype, int, void *, void *, void *, int *);

extern int MPI_WIN_DUP_FN (MPI_Win, int, void *, void *, void *, int *);

extern int MPI_Abort (MPI_Comm, int);
extern int MPI_Accumulate (void *, int, MPI_Datatype, int, MPI_Aint, int, MPI_Datatype, MPI_Op, MPI_Win);

extern int MPI_Address (void *, MPI_Aint *);
extern int MPI_Allgather (void *, int, MPI_Datatype, void *, int, MPI_Datatype, MPI_Comm);

extern int MPI_Allgatherv (void *, int, MPI_Datatype, void *, int *, int *, MPI_Datatype, MPI_Comm);

extern int MPI_Alloc_mem (MPI_Aint size, MPI_Info info, void *baseptr);

extern int MPI_Allreduce (void *, void *, int, MPI_Datatype, MPI_Op, MPI_Comm);

extern int MPI_Alltoall (void *, int, MPI_Datatype, void *, int, MPI_Datatype, MPI_Comm);

extern int MPI_Alltoallv (void *, int *, int *, MPI_Datatype, void *, int *, int *, MPI_Datatype, MPI_Comm);

extern int MPI_Attr_delete (MPI_Comm, int);
extern int MPI_Attr_get (MPI_Comm, int, void *, int *);
extern int MPI_Attr_put (MPI_Comm, int, void *);
extern int MPI_Barrier (MPI_Comm);
extern int MPI_Bcast (void *, int, MPI_Datatype, int, MPI_Comm);
extern int MPI_Bsend (void *, int, MPI_Datatype, int, int, MPI_Comm);
extern int MPI_Bsend_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int MPI_Buffer_attach (void *, int);
extern int MPI_Buffer_detach (void *, int *);
extern int MPI_Cancel (MPI_Request *);
extern int MPI_Cart_coords (MPI_Comm, int, int, int *);
extern int MPI_Cart_create (MPI_Comm, int, int *, int *, int, MPI_Comm *);

extern int MPI_Cartdim_get (MPI_Comm, int *);
extern int MPI_Cart_get (MPI_Comm, int, int *, int *, int *);
extern int MPI_Cart_map (MPI_Comm, int, int *, int *, int *);
extern int MPI_Cart_rank (MPI_Comm, int *, int *);
extern int MPI_Cart_shift (MPI_Comm, int, int, int *, int *);
extern int MPI_Cart_sub (MPI_Comm, int *, MPI_Comm *);
extern int MPI_Close_port (char *);
extern MPI_Fint MPI_Comm_c2f (MPI_Comm);
extern int MPI_Comm_accept (char *, MPI_Info, int, MPI_Comm, MPI_Comm *);

extern int MPI_Comm_compare (MPI_Comm, MPI_Comm, int *);
extern int MPI_Comm_connect (char *, MPI_Info, int, MPI_Comm, MPI_Comm *);

extern int MPI_Comm_create (MPI_Comm, MPI_Group, MPI_Comm *);
extern int MPI_Comm_create_errhandler (MPI_Comm_errhandler_fn *, MPI_Errhandler *);

extern int MPI_Comm_create_keyval (MPI_Comm_copy_attr_function *, MPI_Comm_delete_attr_function *, int *, void *);


extern int MPI_Comm_delete_attr (MPI_Comm, int);
extern int MPI_Comm_disconnect (MPI_Comm *);
extern int MPI_Comm_dup (MPI_Comm, MPI_Comm *);
extern MPI_Comm MPI_Comm_f2c (MPI_Fint);
extern int MPI_Comm_free (MPI_Comm *);
extern int MPI_Comm_free_keyval (int *);
extern int MPI_Comm_get_attr (MPI_Comm, int, void *, int *);
extern int MPI_Comm_get_errhandler (MPI_Comm, MPI_Errhandler *);
extern int MPI_Comm_get_name (MPI_Comm, char *, int *);
extern int MPI_Comm_get_parent (MPI_Comm *);
extern int MPI_Comm_group (MPI_Comm, MPI_Group *);
extern int MPI_Comm_join (int, MPI_Comm *);
extern int MPI_Comm_rank (MPI_Comm, int *);
extern int MPI_Comm_remote_group (MPI_Comm, MPI_Group *);
extern int MPI_Comm_remote_size (MPI_Comm, int *);
extern int MPI_Comm_set_attr (MPI_Comm, int, void *);
extern int MPI_Comm_set_errhandler (MPI_Comm, MPI_Errhandler);
extern int MPI_Comm_set_name (MPI_Comm, char *);
extern int MPI_Comm_size (MPI_Comm, int *);
extern int MPI_Comm_spawn (char *, char **, int, MPI_Info, int, MPI_Comm, MPI_Comm *, int *);

extern int MPI_Comm_spawn_multiple (int, char **, char ***, int *, MPI_Info *, int, MPI_Comm, MPI_Comm *, int *);


extern int MPI_Comm_split (MPI_Comm, int, int, MPI_Comm *);
extern int MPI_Comm_test_inter (MPI_Comm, int *);
extern int MPI_Dims_create (int, int, int *);
extern MPI_Fint MPI_Errhandler_c2f (MPI_Errhandler err);
extern int MPI_Errhandler_create (MPI_Handler_function *, MPI_Errhandler *);

extern MPI_Errhandler MPI_Errhandler_f2c (MPI_Fint f_handle);
extern int MPI_Errhandler_free (MPI_Errhandler *);
extern int MPI_Errhandler_get (MPI_Comm, MPI_Errhandler *);
extern int MPI_Errhandler_set (MPI_Comm, MPI_Errhandler);
extern int MPI_Error_class (int, int *);
extern int MPI_Error_string (int, char *, int *);
extern int MPI_Finalize (void);
extern int MPI_Finalized (int *flag);
extern int MPI_Free_mem (void *base);
extern int MPI_Gather (void *, int, MPI_Datatype, void *, int, MPI_Datatype, int, MPI_Comm);

extern int MPI_Gatherv (void *, int, MPI_Datatype, void *, int *, int *, MPI_Datatype, int, MPI_Comm);

extern int MPI_Get_address (void *, MPI_Aint *);
extern int MPI_Get (void *, int, MPI_Datatype, int, MPI_Aint, int, MPI_Datatype, MPI_Win);

extern int MPI_Get_count (MPI_Status *, MPI_Datatype, int *);
extern int MPI_Get_elements (MPI_Status *, MPI_Datatype, int *);
extern int MPI_Get_processor_name (char *, int *);
extern int MPI_Get_version (int *, int *);
extern int MPI_Graph_create (MPI_Comm, int, int *, int *, int, MPI_Comm *);

extern int MPI_Graphdims_get (MPI_Comm, int *, int *);
extern int MPI_Graph_get (MPI_Comm, int, int, int *, int *);
extern int MPI_Graph_map (MPI_Comm, int, int *, int *, int *);
extern int MPI_Graph_neighbors (MPI_Comm, int, int, int *);
extern int MPI_Graph_neighbors_count (MPI_Comm, int, int *);
extern MPI_Fint MPI_Group_c2f (MPI_Group);
extern int MPI_Group_compare (MPI_Group, MPI_Group, int *);
extern int MPI_Group_difference (MPI_Group, MPI_Group, MPI_Group *);
extern int MPI_Group_excl (MPI_Group, int, int *, MPI_Group *);
extern MPI_Group MPI_Group_f2c (MPI_Fint);
extern int MPI_Group_free (MPI_Group *);
extern int MPI_Group_incl (MPI_Group, int, int *, MPI_Group *);
extern int MPI_Group_intersection (MPI_Group, MPI_Group, MPI_Group *);
extern int MPI_Group_range_excl (MPI_Group, int, int [][3], MPI_Group *);

extern int MPI_Group_range_incl (MPI_Group, int, int [][3], MPI_Group *);

extern int MPI_Group_rank (MPI_Group, int *);
extern int MPI_Group_size (MPI_Group, int *);
extern int MPI_Group_translate_ranks (MPI_Group, int, int *, MPI_Group, int *);

extern int MPI_Group_union (MPI_Group, MPI_Group, MPI_Group *);
extern int MPI_Ibsend (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern MPI_Fint MPI_Info_c2f (MPI_Info);
extern int MPI_Info_create (MPI_Info *);
extern int MPI_Info_delete (MPI_Info, char *);
extern int MPI_Info_dup (MPI_Info, MPI_Info *);
extern MPI_Info MPI_Info_f2c (MPI_Fint);
extern int MPI_Info_free (MPI_Info *);
extern int MPI_Info_get (MPI_Info, char *, int, char *, int *);
extern int MPI_Info_get_nkeys (MPI_Info, int *);
extern int MPI_Info_get_nthkey (MPI_Info, int, char *);
extern int MPI_Info_get_valuelen (MPI_Info, char *, int *, int *);
extern int MPI_Info_set (MPI_Info, char *, char *);
extern int MPI_Init (int *, char ***);
extern int MPI_Initialized (int *);
extern int MPI_Init_thread (int *, char ***, int, int *);
extern int MPI_Intercomm_create (MPI_Comm, int, MPI_Comm, int, int, MPI_Comm *);

extern int MPI_Intercomm_merge (MPI_Comm, int, MPI_Comm *);
extern int MPI_Iprobe (int, int, MPI_Comm, int *, MPI_Status *);
extern int MPI_Irecv (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int MPI_Irsend (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int MPI_Isend (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int MPI_Issend (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int MPI_Is_thread_main (int *);
extern int MPI_Keyval_create (MPI_Copy_function *, MPI_Delete_function *, int *, void *);

extern int MPI_Keyval_free (int *);
extern int MPI_Lookup_name (char *, MPI_Info, char *);
extern MPI_Fint MPI_Op_c2f (MPI_Op op);
extern int MPI_Op_create (MPI_User_function *, int, MPI_Op *);
extern int MPI_Open_port (MPI_Info, char *);
extern MPI_Op MPI_Op_f2c (MPI_Fint f_handle);
extern int MPI_Op_free (MPI_Op *);
extern int MPI_Pack (void *, int, MPI_Datatype, void *, int, int *, MPI_Comm);

extern int MPI_Pack_size (int, MPI_Datatype, MPI_Comm, int *);
extern int MPI_Pcontrol (int level, ...);
extern int MPI_Probe (int, int, MPI_Comm, MPI_Status *);
extern int MPI_Publish_name (char *, MPI_Info, char *);
extern int MPI_Put (void *, int, MPI_Datatype, int, MPI_Aint, int, MPI_Datatype, MPI_Win);

extern int MPI_Query_thread (int *);
extern int MPI_Recv (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status *);

extern int MPI_Recv_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int MPI_Reduce (void *, void *, int, MPI_Datatype, MPI_Op, int, MPI_Comm);

extern int MPI_Reduce_scatter (void *, void *, int *, MPI_Datatype, MPI_Op, MPI_Comm);

extern MPI_Fint MPI_Request_c2f (MPI_Request);
extern MPI_Request MPI_Request_f2c (MPI_Fint);
extern int MPI_Request_free (MPI_Request *);
extern int MPI_Rsend (void *, int, MPI_Datatype, int, int, MPI_Comm);
extern int MPI_Rsend_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int MPI_Scan (void *, void *, int, MPI_Datatype, MPI_Op, MPI_Comm);

extern int MPI_Scatter (void *, int, MPI_Datatype, void *, int, MPI_Datatype, int, MPI_Comm);

extern int MPI_Scatterv (void *, int *, int *, MPI_Datatype, void *, int, MPI_Datatype, int, MPI_Comm);

extern int MPI_Send (void *, int, MPI_Datatype, int, int, MPI_Comm);
extern int MPI_Send_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int MPI_Sendrecv (void *, int, MPI_Datatype, int, int, void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status *);


extern int MPI_Sendrecv_replace (void *, int, MPI_Datatype, int, int, int, int, MPI_Comm, MPI_Status *);

extern int MPI_Ssend (void *, int, MPI_Datatype, int, int, MPI_Comm);
extern int MPI_Ssend_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int MPI_Startall (int, MPI_Request *);
extern int MPI_Start (MPI_Request *);
extern int MPI_Status_c2f (MPI_Status *, MPI_Fint *);
extern int MPI_Status_f2c (MPI_Fint *, MPI_Status *);
extern int MPI_Testall (int, MPI_Request *, int *, MPI_Status *);
extern int MPI_Testany (int, MPI_Request *, int *, int *, MPI_Status *);

extern int MPI_Test (MPI_Request *, int *, MPI_Status *);
extern int MPI_Test_cancelled (MPI_Status *, int *);
extern int MPI_Testsome (int, MPI_Request *, int *, int *, MPI_Status *);

extern int MPI_Topo_test (MPI_Comm, int *);
extern MPI_Fint MPI_Type_c2f (MPI_Datatype);
extern int MPI_Type_commit (MPI_Datatype *);
extern int MPI_Type_contiguous (int, MPI_Datatype, MPI_Datatype *);
extern int MPI_Type_create_darray (int, int, int, int *, int *, int *, int*, int, MPI_Datatype, MPI_Datatype *);


extern int MPI_Type_create_hindexed (int, int *, MPI_Aint *, MPI_Datatype, MPI_Datatype *);

extern int MPI_Type_create_hvector (int, int, MPI_Aint, MPI_Datatype, MPI_Datatype *);

extern int MPI_Type_create_keyval (MPI_Type_copy_attr_function *, MPI_Type_delete_attr_function *, int *, void *);


extern int MPI_Type_create_resized (MPI_Datatype, MPI_Aint, MPI_Aint, MPI_Datatype *);

extern int MPI_Type_create_struct (int, int *, MPI_Aint *, MPI_Datatype *, MPI_Datatype *);

extern int MPI_Type_create_subarray (int, int *, int *, int *, int, MPI_Datatype, MPI_Datatype *);

extern int MPI_Type_delete_attr (MPI_Datatype, int);
extern int MPI_Type_dup (MPI_Datatype, MPI_Datatype *);
extern int MPI_Type_extent (MPI_Datatype, MPI_Aint *);
extern MPI_Datatype MPI_Type_f2c (MPI_Fint);
extern int MPI_Type_free (MPI_Datatype *);
extern int MPI_Type_free_keyval (int *);
extern int MPI_Type_get_attr (MPI_Datatype, int, void *, int *);
extern int MPI_Type_get_contents (MPI_Datatype, int, int, int, int *, MPI_Aint *, MPI_Datatype *);

extern int MPI_Type_get_envelope (MPI_Datatype, int *, int *, int *, int *);

extern int MPI_Type_get_extent (MPI_Datatype, MPI_Aint *, MPI_Aint *);
extern int MPI_Type_get_name (MPI_Datatype, char *, int *);
extern int MPI_Type_get_true_extent (MPI_Datatype, MPI_Aint *, MPI_Aint *);

extern int MPI_Type_hindexed (int, int *, MPI_Aint *, MPI_Datatype, MPI_Datatype *);

extern int MPI_Type_hvector (int, int, MPI_Aint, MPI_Datatype, MPI_Datatype *);

extern int MPI_Type_indexed (int, int *, int *, MPI_Datatype, MPI_Datatype *);

extern int MPI_Type_lb (MPI_Datatype, MPI_Aint *);
extern int MPI_Type_set_attr (MPI_Datatype, int, void *);
extern int MPI_Type_set_name (MPI_Datatype, char *);
extern int MPI_Type_size (MPI_Datatype, int *);
extern int MPI_Type_struct (int, int *, MPI_Aint *, MPI_Datatype *, MPI_Datatype *);

extern int MPI_Type_ub (MPI_Datatype, MPI_Aint *);
extern int MPI_Type_vector (int, int, int, MPI_Datatype, MPI_Datatype *);

extern int MPI_Unpack (void *, int, int *, void *, int, MPI_Datatype, MPI_Comm);

extern int MPI_Unpublish_name (char *, MPI_Info, char *);
extern int MPI_Waitall (int, MPI_Request *, MPI_Status *);
extern int MPI_Waitany (int, MPI_Request *, int *, MPI_Status *);
extern int MPI_Wait (MPI_Request *, MPI_Status *);
extern int MPI_Waitsome (int, MPI_Request *, int *, int *, MPI_Status *);

extern MPI_Fint MPI_Win_c2f (MPI_Win);
extern int MPI_Win_complete (MPI_Win);
extern int MPI_Win_create (void *, MPI_Aint, int, MPI_Info, MPI_Comm, MPI_Win *);

extern int MPI_Win_create_errhandler (MPI_Win_errhandler_fn *, MPI_Errhandler *);

extern int MPI_Win_create_keyval (MPI_Win_copy_attr_function *, MPI_Win_delete_attr_function *, int *, void *);


extern int MPI_Win_delete_attr (MPI_Win, int);
extern MPI_Win MPI_Win_f2c (MPI_Fint);
extern int MPI_Win_fence (int, MPI_Win);
extern int MPI_Win_free (MPI_Win *);
extern int MPI_Win_free_keyval (int *);
extern int MPI_Win_get_attr (MPI_Win, int, void *, int *);
extern int MPI_Win_get_errhandler (MPI_Win, MPI_Errhandler *);
extern int MPI_Win_get_group (MPI_Win, MPI_Group *);
extern int MPI_Win_get_name (MPI_Win, char *, int *);
extern int MPI_Win_post (MPI_Group, int, MPI_Win);
extern int MPI_Win_set_attr (MPI_Win, int, void *);
extern int MPI_Win_set_errhandler (MPI_Win, MPI_Errhandler);
extern int MPI_Win_set_name (MPI_Win, char *);
extern int MPI_Win_start (MPI_Group, int, MPI_Win);
extern int MPI_Win_wait (MPI_Win);
extern double MPI_Wtick (void);
extern double MPI_Wtime (void);




extern int PMPI_DUP_FN (MPI_Comm, int, void *, void *, void *, int *);

extern int PMPI_COMM_DUP_FN (MPI_Comm, int, void *, void *, void *, int *);

extern int PMPI_TYPE_DUP_FN (MPI_Datatype, int, void *, void *, void *, int *);

extern int PMPI_WIN_DUP_FN (MPI_Win, int, void *, void *, void *, int *);


extern int PMPI_Abort (MPI_Comm, int);
extern int PMPI_Accumulate (void *, int, MPI_Datatype, int, MPI_Aint, int, MPI_Datatype, MPI_Op, MPI_Win);

extern int PMPI_Address (void *, MPI_Aint *);
extern int PMPI_Allgather (void *, int, MPI_Datatype, void *, int, MPI_Datatype, MPI_Comm);

extern int PMPI_Allgatherv (void *, int, MPI_Datatype, void *, int *, int *, MPI_Datatype, MPI_Comm);

extern int PMPI_Alloc_mem (MPI_Aint size, MPI_Info info, void *baseptr);

extern int PMPI_Allreduce (void *, void *, int, MPI_Datatype, MPI_Op, MPI_Comm);

extern int PMPI_Alltoall (void *, int, MPI_Datatype, void *, int, MPI_Datatype, MPI_Comm);

extern int PMPI_Alltoallv (void *, int *, int *, MPI_Datatype, void *, int *, int *, MPI_Datatype, MPI_Comm);

extern int PMPI_Attr_delete (MPI_Comm, int);
extern int PMPI_Attr_get (MPI_Comm, int, void *, int *);
extern int PMPI_Attr_put (MPI_Comm, int, void *);
extern int PMPI_Barrier (MPI_Comm);
extern int PMPI_Bcast (void *, int, MPI_Datatype, int, MPI_Comm);
extern int PMPI_Bsend (void *, int, MPI_Datatype, int, int, MPI_Comm);
extern int PMPI_Bsend_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int PMPI_Buffer_attach (void *, int);
extern int PMPI_Buffer_detach (void *, int *);
extern int PMPI_Cancel (MPI_Request *);
extern int PMPI_Cart_coords (MPI_Comm, int, int, int *);
extern int PMPI_Cart_create (MPI_Comm, int, int *, int *, int, MPI_Comm *);

extern int PMPI_Cartdim_get (MPI_Comm, int *);
extern int PMPI_Cart_get (MPI_Comm, int, int *, int *, int *);
extern int PMPI_Cart_map (MPI_Comm, int, int *, int *, int *);
extern int PMPI_Cart_rank (MPI_Comm, int *, int *);
extern int PMPI_Cart_shift (MPI_Comm, int, int, int *, int *);
extern int PMPI_Cart_sub (MPI_Comm, int *, MPI_Comm *);
extern int PMPI_Close_port (char *);
extern MPI_Fint PMPI_Comm_c2f (MPI_Comm);
extern int PMPI_Comm_accept (char *, MPI_Info, int, MPI_Comm, MPI_Comm *);

extern int PMPI_Comm_compare (MPI_Comm, MPI_Comm, int *);
extern int PMPI_Comm_connect (char *, MPI_Info, int, MPI_Comm, MPI_Comm *);

extern int PMPI_Comm_create (MPI_Comm, MPI_Group, MPI_Comm *);
extern int PMPI_Comm_create_errhandler (MPI_Comm_errhandler_fn *, MPI_Errhandler *);

extern int PMPI_Comm_create_keyval (MPI_Comm_copy_attr_function *, MPI_Comm_delete_attr_function *, int *, void *);


extern int PMPI_Comm_delete_attr (MPI_Comm, int);
extern int PMPI_Comm_disconnect (MPI_Comm *);
extern int PMPI_Comm_dup (MPI_Comm, MPI_Comm *);
extern MPI_Comm PMPI_Comm_f2c (MPI_Fint);
extern int PMPI_Comm_free (MPI_Comm *);
extern int PMPI_Comm_free_keyval (int *);
extern int PMPI_Comm_get_attr (MPI_Comm, int, void *, int *);
extern int PMPI_Comm_get_errhandler (MPI_Comm, MPI_Errhandler *);
extern int PMPI_Comm_get_name (MPI_Comm, char *, int *);
extern int PMPI_Comm_get_parent (MPI_Comm *);
extern int PMPI_Comm_group (MPI_Comm, MPI_Group *);
extern int PMPI_Comm_join (int, MPI_Comm *);
extern int PMPI_Comm_rank (MPI_Comm, int *);
extern int PMPI_Comm_remote_group (MPI_Comm, MPI_Group *);
extern int PMPI_Comm_remote_size (MPI_Comm, int *);
extern int PMPI_Comm_set_attr (MPI_Comm, int, void *);
extern int PMPI_Comm_set_errhandler (MPI_Comm, MPI_Errhandler);
extern int PMPI_Comm_set_name (MPI_Comm, char *);
extern int PMPI_Comm_size (MPI_Comm, int *);
extern int PMPI_Comm_spawn (char *, char **, int, MPI_Info, int, MPI_Comm, MPI_Comm *, int *);

extern int PMPI_Comm_spawn_multiple (int, char **, char ***, int *, MPI_Info *, int, MPI_Comm, MPI_Comm *, int *);


extern int PMPI_Comm_split (MPI_Comm, int, int, MPI_Comm *);
extern int PMPI_Comm_test_inter (MPI_Comm, int *);
extern int PMPI_Dims_create (int, int, int *);
extern MPI_Fint PMPI_Errhandler_c2f (MPI_Errhandler err);
extern int PMPI_Errhandler_create (MPI_Handler_function *, MPI_Errhandler *);

extern MPI_Errhandler PMPI_Errhandler_f2c (MPI_Fint f_handle);
extern int PMPI_Errhandler_free (MPI_Errhandler *);
extern int PMPI_Errhandler_get (MPI_Comm, MPI_Errhandler *);
extern int PMPI_Errhandler_set (MPI_Comm, MPI_Errhandler);
extern int PMPI_Error_class (int, int *);
extern int PMPI_Error_string (int, char *, int *);
extern int PMPI_Finalize (void);
extern int PMPI_Finalized (int *flag);
extern int PMPI_Free_mem (void *base);
extern int PMPI_Gather (void *, int, MPI_Datatype, void *, int, MPI_Datatype, int, MPI_Comm);

extern int PMPI_Gatherv (void *, int, MPI_Datatype, void *, int *, int *, MPI_Datatype, int, MPI_Comm);

extern int PMPI_Get_address (void *, MPI_Aint *);
extern int PMPI_Get (void *, int, MPI_Datatype, int, MPI_Aint, int, MPI_Datatype, MPI_Win);

extern int PMPI_Get_count (MPI_Status *, MPI_Datatype, int *);
extern int PMPI_Get_elements (MPI_Status *, MPI_Datatype, int *);
extern int PMPI_Get_processor_name (char *, int *);
extern int PMPI_Get_version (int *, int *);
extern int PMPI_Graph_create (MPI_Comm, int, int *, int *, int, MPI_Comm *);

extern int PMPI_Graphdims_get (MPI_Comm, int *, int *);
extern int PMPI_Graph_get (MPI_Comm, int, int, int *, int *);
extern int PMPI_Graph_map (MPI_Comm, int, int *, int *, int *);
extern int PMPI_Graph_neighbors (MPI_Comm, int, int, int *);
extern int PMPI_Graph_neighbors_count (MPI_Comm, int, int *);
extern MPI_Fint PMPI_Group_c2f (MPI_Group);
extern int PMPI_Group_compare (MPI_Group, MPI_Group, int *);
extern int PMPI_Group_difference (MPI_Group, MPI_Group, MPI_Group *);
extern int PMPI_Group_excl (MPI_Group, int, int *, MPI_Group *);
extern MPI_Group PMPI_Group_f2c (MPI_Fint);
extern int PMPI_Group_free (MPI_Group *);
extern int PMPI_Group_incl (MPI_Group, int, int *, MPI_Group *);
extern int PMPI_Group_intersection (MPI_Group, MPI_Group, MPI_Group *);
extern int PMPI_Group_range_excl (MPI_Group, int, int [][3], MPI_Group *);

extern int PMPI_Group_range_incl (MPI_Group, int, int [][3], MPI_Group *);

extern int PMPI_Group_rank (MPI_Group, int *);
extern int PMPI_Group_size (MPI_Group, int *);
extern int PMPI_Group_translate_ranks (MPI_Group, int, int *, MPI_Group, int *);

extern int PMPI_Group_union (MPI_Group, MPI_Group, MPI_Group *);
extern int PMPI_Ibsend (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern MPI_Fint PMPI_Info_c2f (MPI_Info);
extern int PMPI_Info_create (MPI_Info *);
extern int PMPI_Info_delete (MPI_Info, char *);
extern int PMPI_Info_dup (MPI_Info, MPI_Info *);
extern MPI_Info PMPI_Info_f2c (MPI_Fint);
extern int PMPI_Info_free (MPI_Info *);
extern int PMPI_Info_get (MPI_Info, char *, int, char *, int *);
extern int PMPI_Info_get_nkeys (MPI_Info, int *);
extern int PMPI_Info_get_nthkey (MPI_Info, int, char *);
extern int PMPI_Info_get_valuelen (MPI_Info, char *, int *, int *);
extern int PMPI_Info_set (MPI_Info, char *, char *);
extern int PMPI_Init (int *, char ***);
extern int PMPI_Initialized (int *);
extern int PMPI_Init_thread (int *, char ***, int, int *);
extern int PMPI_Intercomm_create (MPI_Comm, int, MPI_Comm, int, int, MPI_Comm *);

extern int PMPI_Intercomm_merge (MPI_Comm, int, MPI_Comm *);
extern int PMPI_Iprobe (int, int, MPI_Comm, int *, MPI_Status *);
extern int PMPI_Irecv (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int PMPI_Irsend (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int PMPI_Isend (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int PMPI_Issend (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int PMPI_Is_thread_main (int *);
extern int PMPI_Keyval_create (MPI_Copy_function *, MPI_Delete_function *, int *, void *);

extern int PMPI_Keyval_free (int *);
extern int PMPI_Lookup_name (char *, MPI_Info, char *);
extern MPI_Fint MPI_Op_c2f (MPI_Op op);
extern int PMPI_Op_create (MPI_User_function *, int, MPI_Op *);
extern int PMPI_Open_port (MPI_Info, char *);
extern MPI_Op MPI_Op_f2c (MPI_Fint f_handle);
extern int PMPI_Op_free (MPI_Op *);
extern int PMPI_Pack (void *, int, MPI_Datatype, void *, int, int *, MPI_Comm);

extern int PMPI_Pack_size (int, MPI_Datatype, MPI_Comm, int *);
extern int PMPI_Pcontrol (int level, ...);
extern int PMPI_Probe (int, int, MPI_Comm, MPI_Status *);
extern int PMPI_Publish_name (char *, MPI_Info, char *);
extern int PMPI_Put (void *, int, MPI_Datatype, int, MPI_Aint, int, MPI_Datatype, MPI_Win);

extern int PMPI_Query_thread (int *);
extern int PMPI_Recv (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status *);

extern int PMPI_Recv_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int PMPI_Reduce (void *, void *, int, MPI_Datatype, MPI_Op, int, MPI_Comm);

extern int PMPI_Reduce_scatter (void *, void *, int *, MPI_Datatype, MPI_Op, MPI_Comm);

extern MPI_Fint PMPI_Request_c2f (MPI_Request);
extern MPI_Request PMPI_Request_f2c (MPI_Fint);
extern int PMPI_Request_free (MPI_Request *);
extern int PMPI_Rsend (void *, int, MPI_Datatype, int, int, MPI_Comm);
extern int PMPI_Rsend_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int PMPI_Scan (void *, void *, int, MPI_Datatype, MPI_Op, MPI_Comm);

extern int PMPI_Scatter (void *, int, MPI_Datatype, void *, int, MPI_Datatype, int, MPI_Comm);

extern int PMPI_Scatterv (void *, int *, int *, MPI_Datatype, void *, int, MPI_Datatype, int, MPI_Comm);

extern int PMPI_Send (void *, int, MPI_Datatype, int, int, MPI_Comm);
extern int PMPI_Send_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int PMPI_Sendrecv (void *, int, MPI_Datatype, int, int, void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status *);




Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#207516; Package lam. Full text and rfc822 format available.

Acknowledgement sent to Camm Maguire <camm@enhanced.com>:
Extra info received and forwarded to list. Full text and rfc822 format available.

Message #60 received at 207516@bugs.debian.org (full text, mbox):

From: Camm Maguire <camm@enhanced.com>
To: 207516@bugs.debian.org,control@bugs.debian.org
Subject: lam_6.5.9-2(hppa/unstable): FTBFS: build times out (4/6)
Date: Tue, 02 Sep 2003 12:55:54 -0400
[Message part 1 (message/partial, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#207516; Package lam. Full text and rfc822 format available.

Acknowledgement sent to Camm Maguire <camm@enhanced.com>:
Extra info received and forwarded to list. Full text and rfc822 format available.

Message #65 received at 207516@bugs.debian.org (full text, mbox):

From: Camm Maguire <camm@enhanced.com>
To: 207516@bugs.debian.org,control@bugs.debian.org
Subject: lam_6.5.9-2(hppa/unstable): FTBFS: build times out (2/6)
Date: Tue, 02 Sep 2003 12:55:53 -0400
[Message part 1 (message/partial, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#207516; Package lam. Full text and rfc822 format available.

Acknowledgement sent to Camm Maguire <camm@enhanced.com>:
Extra info received and forwarded to list. Full text and rfc822 format available.

Message #70 received at 207516@bugs.debian.org (full text, mbox):

From: Camm Maguire <camm@enhanced.com>
To: 207516@bugs.debian.org,control@bugs.debian.org
Subject: lam_6.5.9-2(hppa/unstable): FTBFS: build times out
Date: Tue, 02 Sep 2003 12:59:51 -0400
reassign 207516 gcc-3.3
thanks

gcc fails to exit when compiling the preprocessed source included
below with the following flags:

camm@paer:~/lam-6.5.9/share/mpi$ gcc-3.3 -DHAVE_CONFIG_H
-I. -I. -I../../share/include -DLAM_BUILDING=1 -I../../share/include
-O -c bcast.c

Dropping the -O enables compilation to succeed as normal.

=============================================================================
gcc version:
=============================================================================
camm@paer:~/lam-6.5.9/share/mpi$ gcc-3.3 -v
...
gcc version 3.3.2 20030812 (Debian prerelease)
=============================================================================
camm@paer:~/lam-6.5.9/share/mpi$ cpp -DHAVE_CONFIG_H
-I. -I. -I../../share/include -DLAM_BUILDING=1 -I../../share/include
bcast.c
=============================================================================
# 1 "bcast.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "bcast.c"
# 28 "bcast.c"
# 1 "../../share/include/lam_config.h" 1
# 250 "../../share/include/lam_config.h"
typedef int lam_thread_t;
typedef int lam_real_mutex_t;
# 460 "../../share/include/lam_config.h"
typedef double LAM_LONG_DOUBLE;
# 29 "bcast.c" 2

# 1 "../../share/include/app_mgmt.h" 1
# 23 "../../share/include/app_mgmt.h"
# 1 "../../share/include/lam.h" 1
# 24 "../../share/include/lam.h"
# 1 "../../share/include/net.h" 1
# 27 "../../share/include/net.h"
# 1 "../../share/include/kreq.h" 1
# 23 "../../share/include/kreq.h"
# 1 "../../share/include/all_queue.h" 1
# 59 "../../share/include/all_queue.h"
# 1 "../../share/include/portable.h" 1
# 24 "../../share/include/portable.h"
# 1 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/limits.h" 1 3 4
# 11 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/limits.h" 3 4
# 1 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/syslimits.h" 1 3 4






# 1 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/limits.h" 1 3 4
# 122 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/limits.h" 3 4
# 1 "/usr/include/limits.h" 1 3 4
# 26 "/usr/include/limits.h" 3 4
# 1 "/usr/include/features.h" 1 3 4
# 291 "/usr/include/features.h" 3 4
# 1 "/usr/include/sys/cdefs.h" 1 3 4
# 292 "/usr/include/features.h" 2 3 4
# 314 "/usr/include/features.h" 3 4
# 1 "/usr/include/gnu/stubs.h" 1 3 4
# 315 "/usr/include/features.h" 2 3 4
# 27 "/usr/include/limits.h" 2 3 4
# 45 "/usr/include/limits.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 46 "/usr/include/limits.h" 2 3 4
# 144 "/usr/include/limits.h" 3 4
# 1 "/usr/include/bits/posix1_lim.h" 1 3 4
# 126 "/usr/include/bits/posix1_lim.h" 3 4
# 1 "/usr/include/bits/local_lim.h" 1 3 4
# 36 "/usr/include/bits/local_lim.h" 3 4
# 1 "/usr/include/linux/limits.h" 1 3 4
# 37 "/usr/include/bits/local_lim.h" 2 3 4
# 127 "/usr/include/bits/posix1_lim.h" 2 3 4
# 145 "/usr/include/limits.h" 2 3 4



# 1 "/usr/include/bits/posix2_lim.h" 1 3 4
# 149 "/usr/include/limits.h" 2 3 4
# 123 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/limits.h" 2 3 4
# 8 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/syslimits.h" 2 3 4
# 12 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/limits.h" 2 3 4
# 25 "../../share/include/portable.h" 2
# 75 "../../share/include/portable.h"
typedef short int2;


typedef unsigned short uint2;
# 91 "../../share/include/portable.h"
typedef int int4;


typedef unsigned int uint4;
# 134 "../../share/include/portable.h"
typedef long long int8;


typedef unsigned long long uint8;





typedef float float4;







typedef double float8;
# 60 "../../share/include/all_queue.h" 2




struct aq_desc {
        int4 aq_maxnelem;
        int4 aq_nelem;
        int4 aq_elemsize;
        int4 aq_first;
        int4 aq_last;
        void *aq_queue;
};




typedef struct aq_desc QUEUE;
typedef struct aq_desc SQUEUE;





extern QUEUE *aq_init (int4 size, int4 elemsize);
extern SQUEUE *aqs_init (int4 size, int4 elemsize, void *queue, SQUEUE *aqsd);

extern int aq_delete (QUEUE *aqd);
extern int aq_expand (QUEUE *aqd, int4 newsize);
extern int aq_insert (QUEUE *aqd, void *elem);
extern int aq_shove (QUEUE *aqd, void *elem);
extern void aq_free (QUEUE *aqd);
extern void *aq_find (QUEUE *aqd);
# 24 "../../share/include/kreq.h" 2
# 58 "../../share/include/kreq.h"
struct kmsg {
        int4 k_event;
        int4 k_type;
        int4 k_length;
        int4 k_flags;





        char *k_msg;
};
# 117 "../../share/include/kreq.h"
struct kreq {
        int4 kq_req;
        int4 kq_index;
        int4 kq_pid;
        int4 kq_priority;
        int4 kq_signal;
        int4 kq_fyi[9];
        struct kmsg kq_msg;
        struct kmsg kq_msg2;
};




struct kreply {
        int4 kr_reply;
        int4 kr_signal;
        int4 kr_length;
        int4 kr_event;
        int4 kr_type;
        int4 kr_state;
        int4 kr_priority;
        int4 kr_index;
        int4 kr_sigs;
        int4 kr_fyi[9];
        double kr_blktime;
};




struct kstatus {
        int4 ks_state;
        int4 ks_priority;
        int4 ks_signal;
        int4 ks_event;
        int4 ks_type;
        int4 ks_length;
        int4 ks_fyi[9];
};




struct kproc {
        struct kproc *kp_next;
        int4 kp_pid;
        int4 kp_index;
        int4 kp_priority;
        int4 kp_port;
        int4 kp_state;
        int4 kp_signal;
        int4 kp_flags;
        int4 kp_fyi[9];
        struct kmsg kp_msg;
        struct kmsg kp_msg2;
        QUEUE *kp_kqueue;
        void (*((*kp_run)()))();

        double kp_blktime;
};





extern int atkexit(void (*exitfunc)(), char *arg);
extern int kattach(int pri);
extern int kbgetpid(void);
extern int kcreate(const char *path, char **argv);
extern int kcreatev(const char *path, char **argv,
                                char **envv, char *wrkdir, int *fds);
extern int kdetach(int pid);
extern int kenter(const char *name, int pri);
extern int kinit(int pri);
extern int krecv(struct kmsg *pkmsg);
extern int krecvfront(struct kmsg *pkmsg);
extern int krecvback(struct kmsg *pkmsg);
extern int ksend(struct kmsg *pkmsg);
extern int ksr(struct kmsg *pkmsg, struct kmsg *pkmsg2);
extern int ksrfront(struct kmsg *pkmsg, struct kmsg *pkmsg2);
extern int ksrback(struct kmsg *pkmsg2);
extern int kstate(int pid, struct kstatus *pstate);
extern void kexit(int status);
extern void _kexit(int status);
# 28 "../../share/include/net.h" 2
# 128 "../../share/include/net.h"
struct nmsg {
        int4 nh_dl_event;
        int4 nh_dl_link;
        int4 nh_node;
        int4 nh_event;
        int4 nh_type;
        int4 nh_length;
        int4 nh_flags;
# 153 "../../share/include/net.h"
        int4 nh_data[8];
        char *nh_msg;
};
# 169 "../../share/include/net.h"
struct netframe {
        struct nmsg nf_head;
        char nf_msg[8192];
};





extern int drecv (struct nmsg *nhead);
extern int dsend (struct nmsg *nhead);
extern int dsfr (struct nmsg *nhs, struct nmsg *nhr);
extern int dsfrfront (struct nmsg *nhs, struct nmsg *nhr);
extern int dsfrback (struct nmsg *nhs);
extern int dtry_recv (struct nmsg *nhead);
extern int dtry_send (struct nmsg *nhead);
extern int frecv (struct nmsg *nhead);
extern int frecvfront (struct nmsg *nhead);
extern int frecvback (struct nmsg *nhead);
extern int getnodes (int4 *p, int4 n, int4 tp, int4 msk);
extern int nprobe (struct nmsg *nhead);
extern int nrecv (struct nmsg *nhead);
extern int nsend (struct nmsg *nhead);
extern int ntry_recv (struct nmsg *nhead);
extern int ntry_send (struct nmsg *nhead);
extern int precv (struct nmsg *nhead);
extern int precvclose (struct nmsg *nhead);
extern int precvopen (struct nmsg *nhead);
extern int psend (struct nmsg *nhead);
extern int psendclose (struct nmsg *nhead);
extern int psendopen (struct nmsg *nhead);
extern int trecv (struct nmsg *nhead);
extern int tsend (struct nmsg *nhead);
extern int4 getnodeid (void);
extern int4 getnodetype (void);
extern int4 getntype (int4 type, int4 mask);
extern int4 getorigin (void);




extern double ttime (void);
# 25 "../../share/include/lam.h" 2

# 1 "../../share/include/terror.h" 1
# 23 "../../share/include/terror.h"
# 1 "../../share/include/typical.h" 1
# 46 "../../share/include/typical.h"
typedef unsigned int unint;
# 24 "../../share/include/terror.h" 2
# 119 "../../share/include/terror.h"
# 1 "/usr/include/errno.h" 1 3 4
# 32 "/usr/include/errno.h" 3 4




# 1 "/usr/include/bits/errno.h" 1 3 4
# 25 "/usr/include/bits/errno.h" 3 4
# 1 "/usr/include/linux/errno.h" 1 3 4



# 1 "/usr/include/asm/errno.h" 1 3 4
# 5 "/usr/include/linux/errno.h" 2 3 4
# 26 "/usr/include/bits/errno.h" 2 3 4
# 35 "/usr/include/bits/errno.h" 3 4
extern int *__errno_location (void) ;
# 37 "/usr/include/errno.h" 2 3 4
# 59 "/usr/include/errno.h" 3 4

# 120 "../../share/include/terror.h" 2
# 133 "../../share/include/terror.h"
extern void lam_errorstr (char *emsgbuf, unint emsglen);
extern void lam_perror (const char *umsg);
extern void lamfail (char *umsg);
extern void lampanic (char *umsg);

extern void panic (char *umsg);
extern void terror (const char *msg);
# 27 "../../share/include/lam.h" 2

# 1 "../../share/include/t_types.h" 1
# 117 "../../share/include/t_types.h"
extern uint4 rw (uint4 oword);
extern void rev4 (void *src, void *dest);
extern void rev8 (void *src, void *dest);
extern void revn (void *src, void *dest, int size);
extern void mrev4 (void *array, int num);
extern void mrev8 (void *array, int num);
extern void mrevn (void *array, int size, int num);
extern void ltoieeef (float *src, void *dest);
extern void ltoieeed (double *src, void *dest);
extern void ieeetolf (void *src, float *dest);
extern void ieeetold (void *src, double *dest);
extern void mltoieeef (float *array, int num);
extern void mltoieeed (double *array, int num);
extern void mieeetolf (float *array, int num);
extern void mieeetold (double *array, int num);


extern void ltoieeeld (LAM_LONG_DOUBLE *src, void *dest);
extern void ieeetolld (void *src, LAM_LONG_DOUBLE *dest);
extern void mltoieeeld (LAM_LONG_DOUBLE *array, int num);
extern void mieeetolld (LAM_LONG_DOUBLE *array, int num);
# 29 "../../share/include/lam.h" 2
# 24 "../../share/include/app_mgmt.h" 2
# 47 "../../share/include/app_mgmt.h"
struct _gps {
        int4 gps_node;
        int4 gps_pid;
        int4 gps_idx;
        int4 gps_grank;
};





extern int app_doom (int app_n, struct _gps *app, int sig);

extern int app_sendprocs (int np, struct _gps *w);
# 31 "bcast.c" 2
# 1 "../../share/include/blktype.h" 1
# 362 "../../share/include/blktype.h"
extern char *blktype (int4 type);
# 32 "bcast.c" 2
# 1 "../../share/include/mpi.h" 1
# 38 "../../share/include/mpi.h"
typedef struct _status MPI_Status;
typedef struct _group *MPI_Group;
typedef struct _comm *MPI_Comm;
typedef struct _dtype *MPI_Datatype;
typedef struct _req *MPI_Request;
typedef struct _op *MPI_Op;
typedef struct _errhdl *MPI_Errhandler;
typedef struct _info *MPI_Info;
typedef struct _window *MPI_Win;
typedef void *MPI_Buffer;
typedef long MPI_Aint;
typedef int MPI_Fint;
# 58 "../../share/include/mpi.h"
typedef int (MPI_Copy_function)(MPI_Comm, int, void *,
                                        void *, void *, int *);
typedef int (MPI_Delete_function)(MPI_Comm, int, void *, void *);
typedef void (MPI_Comm_errhandler_fn)(MPI_Comm *, int *, ...);
typedef void (MPI_Win_errhandler_fn)(MPI_Win *, int *, ...);
typedef void (MPI_Handler_function)(MPI_Comm *, int *, ...);
typedef void (MPI_User_function)(void *, void *, int *, MPI_Datatype *);
typedef int (MPI_Comm_copy_attr_function)(MPI_Comm, int, void *,
                                                void *, void *, int *);
typedef int (MPI_Comm_delete_attr_function)(MPI_Comm, int, void *, void *);
typedef int (MPI_Type_copy_attr_function)(MPI_Datatype, int, void *,
                                                void *, void *, int *);
typedef int (MPI_Type_delete_attr_function)(MPI_Datatype, int,
                                                void *, void *);
typedef int (MPI_Win_copy_attr_function)(MPI_Win, int, void *,
                                                void *, void *, int *);
typedef int (MPI_Win_delete_attr_function)(MPI_Win, int, void *, void *);
# 280 "../../share/include/mpi.h"
struct _status {
        int MPI_SOURCE;
        int MPI_TAG;
        int MPI_ERROR;
        int st_length;
};




extern struct _comm lam_mpi_comm_world;
extern struct _comm lam_mpi_comm_self;

extern struct _group lam_mpi_group_empty;

extern struct _op lam_mpi_max, lam_mpi_min;
extern struct _op lam_mpi_sum, lam_mpi_prod;
extern struct _op lam_mpi_land, lam_mpi_band;
extern struct _op lam_mpi_lor, lam_mpi_bor;
extern struct _op lam_mpi_lxor, lam_mpi_bxor;
extern struct _op lam_mpi_maxloc, lam_mpi_minloc;
extern struct _op lam_mpi_replace;

extern struct _dtype lam_mpi_char, lam_mpi_byte;
extern struct _dtype lam_mpi_int, lam_mpi_logic;
extern struct _dtype lam_mpi_short, lam_mpi_long;
extern struct _dtype lam_mpi_float, lam_mpi_double;
extern struct _dtype lam_mpi_long_double;
extern struct _dtype lam_mpi_cplex, lam_mpi_packed;
extern struct _dtype lam_mpi_unsigned_char;
extern struct _dtype lam_mpi_unsigned_short;
extern struct _dtype lam_mpi_unsigned;
extern struct _dtype lam_mpi_unsigned_long;
extern struct _dtype lam_mpi_ub, lam_mpi_lb;
extern struct _dtype lam_mpi_float_int, lam_mpi_double_int;
extern struct _dtype lam_mpi_long_int, lam_mpi_2int;
extern struct _dtype lam_mpi_short_int, lam_mpi_dblcplex;
extern struct _dtype lam_mpi_integer, lam_mpi_real;
extern struct _dtype lam_mpi_dblprec, lam_mpi_character;
extern struct _dtype lam_mpi_2real, lam_mpi_2dblprec;
extern struct _dtype lam_mpi_2integer, lam_mpi_longdbl_int;
extern struct _dtype lam_mpi_wchar, lam_mpi_long_long_int;
extern struct _dtype lam_mpi_unsigned_long_long;

extern struct _errhdl lam_mpi_errors_are_fatal;
extern struct _errhdl lam_mpi_errors_return;

extern MPI_Fint *MPI_F_STATUS_IGNORE;
extern MPI_Fint *MPI_F_STATUSES_IGNORE;
# 384 "../../share/include/mpi.h"
extern int MPI_DUP_FN (MPI_Comm, int, void *, void *, void *, int *);

extern int MPI_COMM_DUP_FN (MPI_Comm, int, void *, void *, void *, int *);

extern int MPI_TYPE_DUP_FN (MPI_Datatype, int, void *, void *, void *, int *);

extern int MPI_WIN_DUP_FN (MPI_Win, int, void *, void *, void *, int *);

extern int MPI_Abort (MPI_Comm, int);
extern int MPI_Accumulate (void *, int, MPI_Datatype, int, MPI_Aint, int, MPI_Datatype, MPI_Op, MPI_Win);

extern int MPI_Address (void *, MPI_Aint *);
extern int MPI_Allgather (void *, int, MPI_Datatype, void *, int, MPI_Datatype, MPI_Comm);

extern int MPI_Allgatherv (void *, int, MPI_Datatype, void *, int *, int *, MPI_Datatype, MPI_Comm);

extern int MPI_Alloc_mem (MPI_Aint size, MPI_Info info, void *baseptr);

extern int MPI_Allreduce (void *, void *, int, MPI_Datatype, MPI_Op, MPI_Comm);

extern int MPI_Alltoall (void *, int, MPI_Datatype, void *, int, MPI_Datatype, MPI_Comm);

extern int MPI_Alltoallv (void *, int *, int *, MPI_Datatype, void *, int *, int *, MPI_Datatype, MPI_Comm);

extern int MPI_Attr_delete (MPI_Comm, int);
extern int MPI_Attr_get (MPI_Comm, int, void *, int *);
extern int MPI_Attr_put (MPI_Comm, int, void *);
extern int MPI_Barrier (MPI_Comm);
extern int MPI_Bcast (void *, int, MPI_Datatype, int, MPI_Comm);
extern int MPI_Bsend (void *, int, MPI_Datatype, int, int, MPI_Comm);
extern int MPI_Bsend_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int MPI_Buffer_attach (void *, int);
extern int MPI_Buffer_detach (void *, int *);
extern int MPI_Cancel (MPI_Request *);
extern int MPI_Cart_coords (MPI_Comm, int, int, int *);
extern int MPI_Cart_create (MPI_Comm, int, int *, int *, int, MPI_Comm *);

extern int MPI_Cartdim_get (MPI_Comm, int *);
extern int MPI_Cart_get (MPI_Comm, int, int *, int *, int *);
extern int MPI_Cart_map (MPI_Comm, int, int *, int *, int *);
extern int MPI_Cart_rank (MPI_Comm, int *, int *);
extern int MPI_Cart_shift (MPI_Comm, int, int, int *, int *);
extern int MPI_Cart_sub (MPI_Comm, int *, MPI_Comm *);
extern int MPI_Close_port (char *);
extern MPI_Fint MPI_Comm_c2f (MPI_Comm);
extern int MPI_Comm_accept (char *, MPI_Info, int, MPI_Comm, MPI_Comm *);

extern int MPI_Comm_compare (MPI_Comm, MPI_Comm, int *);
extern int MPI_Comm_connect (char *, MPI_Info, int, MPI_Comm, MPI_Comm *);

extern int MPI_Comm_create (MPI_Comm, MPI_Group, MPI_Comm *);
extern int MPI_Comm_create_errhandler (MPI_Comm_errhandler_fn *, MPI_Errhandler *);

extern int MPI_Comm_create_keyval (MPI_Comm_copy_attr_function *, MPI_Comm_delete_attr_function *, int *, void *);


extern int MPI_Comm_delete_attr (MPI_Comm, int);
extern int MPI_Comm_disconnect (MPI_Comm *);
extern int MPI_Comm_dup (MPI_Comm, MPI_Comm *);
extern MPI_Comm MPI_Comm_f2c (MPI_Fint);
extern int MPI_Comm_free (MPI_Comm *);
extern int MPI_Comm_free_keyval (int *);
extern int MPI_Comm_get_attr (MPI_Comm, int, void *, int *);
extern int MPI_Comm_get_errhandler (MPI_Comm, MPI_Errhandler *);
extern int MPI_Comm_get_name (MPI_Comm, char *, int *);
extern int MPI_Comm_get_parent (MPI_Comm *);
extern int MPI_Comm_group (MPI_Comm, MPI_Group *);
extern int MPI_Comm_join (int, MPI_Comm *);
extern int MPI_Comm_rank (MPI_Comm, int *);
extern int MPI_Comm_remote_group (MPI_Comm, MPI_Group *);
extern int MPI_Comm_remote_size (MPI_Comm, int *);
extern int MPI_Comm_set_attr (MPI_Comm, int, void *);
extern int MPI_Comm_set_errhandler (MPI_Comm, MPI_Errhandler);
extern int MPI_Comm_set_name (MPI_Comm, char *);
extern int MPI_Comm_size (MPI_Comm, int *);
extern int MPI_Comm_spawn (char *, char **, int, MPI_Info, int, MPI_Comm, MPI_Comm *, int *);

extern int MPI_Comm_spawn_multiple (int, char **, char ***, int *, MPI_Info *, int, MPI_Comm, MPI_Comm *, int *);


extern int MPI_Comm_split (MPI_Comm, int, int, MPI_Comm *);
extern int MPI_Comm_test_inter (MPI_Comm, int *);
extern int MPI_Dims_create (int, int, int *);
extern MPI_Fint MPI_Errhandler_c2f (MPI_Errhandler err);
extern int MPI_Errhandler_create (MPI_Handler_function *, MPI_Errhandler *);

extern MPI_Errhandler MPI_Errhandler_f2c (MPI_Fint f_handle);
extern int MPI_Errhandler_free (MPI_Errhandler *);
extern int MPI_Errhandler_get (MPI_Comm, MPI_Errhandler *);
extern int MPI_Errhandler_set (MPI_Comm, MPI_Errhandler);
extern int MPI_Error_class (int, int *);
extern int MPI_Error_string (int, char *, int *);
extern int MPI_Finalize (void);
extern int MPI_Finalized (int *flag);
extern int MPI_Free_mem (void *base);
extern int MPI_Gather (void *, int, MPI_Datatype, void *, int, MPI_Datatype, int, MPI_Comm);

extern int MPI_Gatherv (void *, int, MPI_Datatype, void *, int *, int *, MPI_Datatype, int, MPI_Comm);

extern int MPI_Get_address (void *, MPI_Aint *);
extern int MPI_Get (void *, int, MPI_Datatype, int, MPI_Aint, int, MPI_Datatype, MPI_Win);

extern int MPI_Get_count (MPI_Status *, MPI_Datatype, int *);
extern int MPI_Get_elements (MPI_Status *, MPI_Datatype, int *);
extern int MPI_Get_processor_name (char *, int *);
extern int MPI_Get_version (int *, int *);
extern int MPI_Graph_create (MPI_Comm, int, int *, int *, int, MPI_Comm *);

extern int MPI_Graphdims_get (MPI_Comm, int *, int *);
extern int MPI_Graph_get (MPI_Comm, int, int, int *, int *);
extern int MPI_Graph_map (MPI_Comm, int, int *, int *, int *);
extern int MPI_Graph_neighbors (MPI_Comm, int, int, int *);
extern int MPI_Graph_neighbors_count (MPI_Comm, int, int *);
extern MPI_Fint MPI_Group_c2f (MPI_Group);
extern int MPI_Group_compare (MPI_Group, MPI_Group, int *);
extern int MPI_Group_difference (MPI_Group, MPI_Group, MPI_Group *);
extern int MPI_Group_excl (MPI_Group, int, int *, MPI_Group *);
extern MPI_Group MPI_Group_f2c (MPI_Fint);
extern int MPI_Group_free (MPI_Group *);
extern int MPI_Group_incl (MPI_Group, int, int *, MPI_Group *);
extern int MPI_Group_intersection (MPI_Group, MPI_Group, MPI_Group *);
extern int MPI_Group_range_excl (MPI_Group, int, int [][3], MPI_Group *);

extern int MPI_Group_range_incl (MPI_Group, int, int [][3], MPI_Group *);

extern int MPI_Group_rank (MPI_Group, int *);
extern int MPI_Group_size (MPI_Group, int *);
extern int MPI_Group_translate_ranks (MPI_Group, int, int *, MPI_Group, int *);

extern int MPI_Group_union (MPI_Group, MPI_Group, MPI_Group *);
extern int MPI_Ibsend (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern MPI_Fint MPI_Info_c2f (MPI_Info);
extern int MPI_Info_create (MPI_Info *);
extern int MPI_Info_delete (MPI_Info, char *);
extern int MPI_Info_dup (MPI_Info, MPI_Info *);
extern MPI_Info MPI_Info_f2c (MPI_Fint);
extern int MPI_Info_free (MPI_Info *);
extern int MPI_Info_get (MPI_Info, char *, int, char *, int *);
extern int MPI_Info_get_nkeys (MPI_Info, int *);
extern int MPI_Info_get_nthkey (MPI_Info, int, char *);
extern int MPI_Info_get_valuelen (MPI_Info, char *, int *, int *);
extern int MPI_Info_set (MPI_Info, char *, char *);
extern int MPI_Init (int *, char ***);
extern int MPI_Initialized (int *);
extern int MPI_Init_thread (int *, char ***, int, int *);
extern int MPI_Intercomm_create (MPI_Comm, int, MPI_Comm, int, int, MPI_Comm *);

extern int MPI_Intercomm_merge (MPI_Comm, int, MPI_Comm *);
extern int MPI_Iprobe (int, int, MPI_Comm, int *, MPI_Status *);
extern int MPI_Irecv (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int MPI_Irsend (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int MPI_Isend (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int MPI_Issend (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int MPI_Is_thread_main (int *);
extern int MPI_Keyval_create (MPI_Copy_function *, MPI_Delete_function *, int *, void *);

extern int MPI_Keyval_free (int *);
extern int MPI_Lookup_name (char *, MPI_Info, char *);
extern MPI_Fint MPI_Op_c2f (MPI_Op op);
extern int MPI_Op_create (MPI_User_function *, int, MPI_Op *);
extern int MPI_Open_port (MPI_Info, char *);
extern MPI_Op MPI_Op_f2c (MPI_Fint f_handle);
extern int MPI_Op_free (MPI_Op *);
extern int MPI_Pack (void *, int, MPI_Datatype, void *, int, int *, MPI_Comm);

extern int MPI_Pack_size (int, MPI_Datatype, MPI_Comm, int *);
extern int MPI_Pcontrol (int level, ...);
extern int MPI_Probe (int, int, MPI_Comm, MPI_Status *);
extern int MPI_Publish_name (char *, MPI_Info, char *);
extern int MPI_Put (void *, int, MPI_Datatype, int, MPI_Aint, int, MPI_Datatype, MPI_Win);

extern int MPI_Query_thread (int *);
extern int MPI_Recv (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status *);

extern int MPI_Recv_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int MPI_Reduce (void *, void *, int, MPI_Datatype, MPI_Op, int, MPI_Comm);

extern int MPI_Reduce_scatter (void *, void *, int *, MPI_Datatype, MPI_Op, MPI_Comm);

extern MPI_Fint MPI_Request_c2f (MPI_Request);
extern MPI_Request MPI_Request_f2c (MPI_Fint);
extern int MPI_Request_free (MPI_Request *);
extern int MPI_Rsend (void *, int, MPI_Datatype, int, int, MPI_Comm);
extern int MPI_Rsend_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int MPI_Scan (void *, void *, int, MPI_Datatype, MPI_Op, MPI_Comm);

extern int MPI_Scatter (void *, int, MPI_Datatype, void *, int, MPI_Datatype, int, MPI_Comm);

extern int MPI_Scatterv (void *, int *, int *, MPI_Datatype, void *, int, MPI_Datatype, int, MPI_Comm);

extern int MPI_Send (void *, int, MPI_Datatype, int, int, MPI_Comm);
extern int MPI_Send_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int MPI_Sendrecv (void *, int, MPI_Datatype, int, int, void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status *);


extern int MPI_Sendrecv_replace (void *, int, MPI_Datatype, int, int, int, int, MPI_Comm, MPI_Status *);

extern int MPI_Ssend (void *, int, MPI_Datatype, int, int, MPI_Comm);
extern int MPI_Ssend_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int MPI_Startall (int, MPI_Request *);
extern int MPI_Start (MPI_Request *);
extern int MPI_Status_c2f (MPI_Status *, MPI_Fint *);
extern int MPI_Status_f2c (MPI_Fint *, MPI_Status *);
extern int MPI_Testall (int, MPI_Request *, int *, MPI_Status *);
extern int MPI_Testany (int, MPI_Request *, int *, int *, MPI_Status *);

extern int MPI_Test (MPI_Request *, int *, MPI_Status *);
extern int MPI_Test_cancelled (MPI_Status *, int *);
extern int MPI_Testsome (int, MPI_Request *, int *, int *, MPI_Status *);

extern int MPI_Topo_test (MPI_Comm, int *);
extern MPI_Fint MPI_Type_c2f (MPI_Datatype);
extern int MPI_Type_commit (MPI_Datatype *);
extern int MPI_Type_contiguous (int, MPI_Datatype, MPI_Datatype *);
extern int MPI_Type_create_darray (int, int, int, int *, int *, int *, int*, int, MPI_Datatype, MPI_Datatype *);


extern int MPI_Type_create_hindexed (int, int *, MPI_Aint *, MPI_Datatype, MPI_Datatype *);

extern int MPI_Type_create_hvector (int, int, MPI_Aint, MPI_Datatype, MPI_Datatype *);

extern int MPI_Type_create_keyval (MPI_Type_copy_attr_function *, MPI_Type_delete_attr_function *, int *, void *);


extern int MPI_Type_create_resized (MPI_Datatype, MPI_Aint, MPI_Aint, MPI_Datatype *);

extern int MPI_Type_create_struct (int, int *, MPI_Aint *, MPI_Datatype *, MPI_Datatype *);

extern int MPI_Type_create_subarray (int, int *, int *, int *, int, MPI_Datatype, MPI_Datatype *);

extern int MPI_Type_delete_attr (MPI_Datatype, int);
extern int MPI_Type_dup (MPI_Datatype, MPI_Datatype *);
extern int MPI_Type_extent (MPI_Datatype, MPI_Aint *);
extern MPI_Datatype MPI_Type_f2c (MPI_Fint);
extern int MPI_Type_free (MPI_Datatype *);
extern int MPI_Type_free_keyval (int *);
extern int MPI_Type_get_attr (MPI_Datatype, int, void *, int *);
extern int MPI_Type_get_contents (MPI_Datatype, int, int, int, int *, MPI_Aint *, MPI_Datatype *);

extern int MPI_Type_get_envelope (MPI_Datatype, int *, int *, int *, int *);

extern int MPI_Type_get_extent (MPI_Datatype, MPI_Aint *, MPI_Aint *);
extern int MPI_Type_get_name (MPI_Datatype, char *, int *);
extern int MPI_Type_get_true_extent (MPI_Datatype, MPI_Aint *, MPI_Aint *);

extern int MPI_Type_hindexed (int, int *, MPI_Aint *, MPI_Datatype, MPI_Datatype *);

extern int MPI_Type_hvector (int, int, MPI_Aint, MPI_Datatype, MPI_Datatype *);

extern int MPI_Type_indexed (int, int *, int *, MPI_Datatype, MPI_Datatype *);

extern int MPI_Type_lb (MPI_Datatype, MPI_Aint *);
extern int MPI_Type_set_attr (MPI_Datatype, int, void *);
extern int MPI_Type_set_name (MPI_Datatype, char *);
extern int MPI_Type_size (MPI_Datatype, int *);
extern int MPI_Type_struct (int, int *, MPI_Aint *, MPI_Datatype *, MPI_Datatype *);

extern int MPI_Type_ub (MPI_Datatype, MPI_Aint *);
extern int MPI_Type_vector (int, int, int, MPI_Datatype, MPI_Datatype *);

extern int MPI_Unpack (void *, int, int *, void *, int, MPI_Datatype, MPI_Comm);

extern int MPI_Unpublish_name (char *, MPI_Info, char *);
extern int MPI_Waitall (int, MPI_Request *, MPI_Status *);
extern int MPI_Waitany (int, MPI_Request *, int *, MPI_Status *);
extern int MPI_Wait (MPI_Request *, MPI_Status *);
extern int MPI_Waitsome (int, MPI_Request *, int *, int *, MPI_Status *);

extern MPI_Fint MPI_Win_c2f (MPI_Win);
extern int MPI_Win_complete (MPI_Win);
extern int MPI_Win_create (void *, MPI_Aint, int, MPI_Info, MPI_Comm, MPI_Win *);

extern int MPI_Win_create_errhandler (MPI_Win_errhandler_fn *, MPI_Errhandler *);

extern int MPI_Win_create_keyval (MPI_Win_copy_attr_function *, MPI_Win_delete_attr_function *, int *, void *);


extern int MPI_Win_delete_attr (MPI_Win, int);
extern MPI_Win MPI_Win_f2c (MPI_Fint);
extern int MPI_Win_fence (int, MPI_Win);
extern int MPI_Win_free (MPI_Win *);
extern int MPI_Win_free_keyval (int *);
extern int MPI_Win_get_attr (MPI_Win, int, void *, int *);
extern int MPI_Win_get_errhandler (MPI_Win, MPI_Errhandler *);
extern int MPI_Win_get_group (MPI_Win, MPI_Group *);
extern int MPI_Win_get_name (MPI_Win, char *, int *);
extern int MPI_Win_post (MPI_Group, int, MPI_Win);
extern int MPI_Win_set_attr (MPI_Win, int, void *);
extern int MPI_Win_set_errhandler (MPI_Win, MPI_Errhandler);
extern int MPI_Win_set_name (MPI_Win, char *);
extern int MPI_Win_start (MPI_Group, int, MPI_Win);
extern int MPI_Win_wait (MPI_Win);
extern double MPI_Wtick (void);
extern double MPI_Wtime (void);




extern int PMPI_DUP_FN (MPI_Comm, int, void *, void *, void *, int *);

extern int PMPI_COMM_DUP_FN (MPI_Comm, int, void *, void *, void *, int *);

extern int PMPI_TYPE_DUP_FN (MPI_Datatype, int, void *, void *, void *, int *);

extern int PMPI_WIN_DUP_FN (MPI_Win, int, void *, void *, void *, int *);


extern int PMPI_Abort (MPI_Comm, int);
extern int PMPI_Accumulate (void *, int, MPI_Datatype, int, MPI_Aint, int, MPI_Datatype, MPI_Op, MPI_Win);

extern int PMPI_Address (void *, MPI_Aint *);
extern int PMPI_Allgather (void *, int, MPI_Datatype, void *, int, MPI_Datatype, MPI_Comm);

extern int PMPI_Allgatherv (void *, int, MPI_Datatype, void *, int *, int *, MPI_Datatype, MPI_Comm);

extern int PMPI_Alloc_mem (MPI_Aint size, MPI_Info info, void *baseptr);

extern int PMPI_Allreduce (void *, void *, int, MPI_Datatype, MPI_Op, MPI_Comm);

extern int PMPI_Alltoall (void *, int, MPI_Datatype, void *, int, MPI_Datatype, MPI_Comm);

extern int PMPI_Alltoallv (void *, int *, int *, MPI_Datatype, void *, int *, int *, MPI_Datatype, MPI_Comm);

extern int PMPI_Attr_delete (MPI_Comm, int);
extern int PMPI_Attr_get (MPI_Comm, int, void *, int *);
extern int PMPI_Attr_put (MPI_Comm, int, void *);
extern int PMPI_Barrier (MPI_Comm);
extern int PMPI_Bcast (void *, int, MPI_Datatype, int, MPI_Comm);
extern int PMPI_Bsend (void *, int, MPI_Datatype, int, int, MPI_Comm);
extern int PMPI_Bsend_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int PMPI_Buffer_attach (void *, int);
extern int PMPI_Buffer_detach (void *, int *);
extern int PMPI_Cancel (MPI_Request *);
extern int PMPI_Cart_coords (MPI_Comm, int, int, int *);
extern int PMPI_Cart_create (MPI_Comm, int, int *, int *, int, MPI_Comm *);

extern int PMPI_Cartdim_get (MPI_Comm, int *);
extern int PMPI_Cart_get (MPI_Comm, int, int *, int *, int *);
extern int PMPI_Cart_map (MPI_Comm, int, int *, int *, int *);
extern int PMPI_Cart_rank (MPI_Comm, int *, int *);
extern int PMPI_Cart_shift (MPI_Comm, int, int, int *, int *);
extern int PMPI_Cart_sub (MPI_Comm, int *, MPI_Comm *);
extern int PMPI_Close_port (char *);
extern MPI_Fint PMPI_Comm_c2f (MPI_Comm);
extern int PMPI_Comm_accept (char *, MPI_Info, int, MPI_Comm, MPI_Comm *);

extern int PMPI_Comm_compare (MPI_Comm, MPI_Comm, int *);
extern int PMPI_Comm_connect (char *, MPI_Info, int, MPI_Comm, MPI_Comm *);

extern int PMPI_Comm_create (MPI_Comm, MPI_Group, MPI_Comm *);
extern int PMPI_Comm_create_errhandler (MPI_Comm_errhandler_fn *, MPI_Errhandler *);

extern int PMPI_Comm_create_keyval (MPI_Comm_copy_attr_function *, MPI_Comm_delete_attr_function *, int *, void *);


extern int PMPI_Comm_delete_attr (MPI_Comm, int);
extern int PMPI_Comm_disconnect (MPI_Comm *);
extern int PMPI_Comm_dup (MPI_Comm, MPI_Comm *);
extern MPI_Comm PMPI_Comm_f2c (MPI_Fint);
extern int PMPI_Comm_free (MPI_Comm *);
extern int PMPI_Comm_free_keyval (int *);
extern int PMPI_Comm_get_attr (MPI_Comm, int, void *, int *);
extern int PMPI_Comm_get_errhandler (MPI_Comm, MPI_Errhandler *);
extern int PMPI_Comm_get_name (MPI_Comm, char *, int *);
extern int PMPI_Comm_get_parent (MPI_Comm *);
extern int PMPI_Comm_group (MPI_Comm, MPI_Group *);
extern int PMPI_Comm_join (int, MPI_Comm *);
extern int PMPI_Comm_rank (MPI_Comm, int *);
extern int PMPI_Comm_remote_group (MPI_Comm, MPI_Group *);
extern int PMPI_Comm_remote_size (MPI_Comm, int *);
extern int PMPI_Comm_set_attr (MPI_Comm, int, void *);
extern int PMPI_Comm_set_errhandler (MPI_Comm, MPI_Errhandler);
extern int PMPI_Comm_set_name (MPI_Comm, char *);
extern int PMPI_Comm_size (MPI_Comm, int *);
extern int PMPI_Comm_spawn (char *, char **, int, MPI_Info, int, MPI_Comm, MPI_Comm *, int *);

extern int PMPI_Comm_spawn_multiple (int, char **, char ***, int *, MPI_Info *, int, MPI_Comm, MPI_Comm *, int *);


extern int PMPI_Comm_split (MPI_Comm, int, int, MPI_Comm *);
extern int PMPI_Comm_test_inter (MPI_Comm, int *);
extern int PMPI_Dims_create (int, int, int *);
extern MPI_Fint PMPI_Errhandler_c2f (MPI_Errhandler err);
extern int PMPI_Errhandler_create (MPI_Handler_function *, MPI_Errhandler *);

extern MPI_Errhandler PMPI_Errhandler_f2c (MPI_Fint f_handle);
extern int PMPI_Errhandler_free (MPI_Errhandler *);
extern int PMPI_Errhandler_get (MPI_Comm, MPI_Errhandler *);
extern int PMPI_Errhandler_set (MPI_Comm, MPI_Errhandler);
extern int PMPI_Error_class (int, int *);
extern int PMPI_Error_string (int, char *, int *);
extern int PMPI_Finalize (void);
extern int PMPI_Finalized (int *flag);
extern int PMPI_Free_mem (void *base);
extern int PMPI_Gather (void *, int, MPI_Datatype, void *, int, MPI_Datatype, int, MPI_Comm);

extern int PMPI_Gatherv (void *, int, MPI_Datatype, void *, int *, int *, MPI_Datatype, int, MPI_Comm);

extern int PMPI_Get_address (void *, MPI_Aint *);
extern int PMPI_Get (void *, int, MPI_Datatype, int, MPI_Aint, int, MPI_Datatype, MPI_Win);

extern int PMPI_Get_count (MPI_Status *, MPI_Datatype, int *);
extern int PMPI_Get_elements (MPI_Status *, MPI_Datatype, int *);
extern int PMPI_Get_processor_name (char *, int *);
extern int PMPI_Get_version (int *, int *);
extern int PMPI_Graph_create (MPI_Comm, int, int *, int *, int, MPI_Comm *);

extern int PMPI_Graphdims_get (MPI_Comm, int *, int *);
extern int PMPI_Graph_get (MPI_Comm, int, int, int *, int *);
extern int PMPI_Graph_map (MPI_Comm, int, int *, int *, int *);
extern int PMPI_Graph_neighbors (MPI_Comm, int, int, int *);
extern int PMPI_Graph_neighbors_count (MPI_Comm, int, int *);
extern MPI_Fint PMPI_Group_c2f (MPI_Group);
extern int PMPI_Group_compare (MPI_Group, MPI_Group, int *);
extern int PMPI_Group_difference (MPI_Group, MPI_Group, MPI_Group *);
extern int PMPI_Group_excl (MPI_Group, int, int *, MPI_Group *);
extern MPI_Group PMPI_Group_f2c (MPI_Fint);
extern int PMPI_Group_free (MPI_Group *);
extern int PMPI_Group_incl (MPI_Group, int, int *, MPI_Group *);
extern int PMPI_Group_intersection (MPI_Group, MPI_Group, MPI_Group *);
extern int PMPI_Group_range_excl (MPI_Group, int, int [][3], MPI_Group *);

extern int PMPI_Group_range_incl (MPI_Group, int, int [][3], MPI_Group *);

extern int PMPI_Group_rank (MPI_Group, int *);
extern int PMPI_Group_size (MPI_Group, int *);
extern int PMPI_Group_translate_ranks (MPI_Group, int, int *, MPI_Group, int *);

extern int PMPI_Group_union (MPI_Group, MPI_Group, MPI_Group *);
extern int PMPI_Ibsend (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern MPI_Fint PMPI_Info_c2f (MPI_Info);
extern int PMPI_Info_create (MPI_Info *);
extern int PMPI_Info_delete (MPI_Info, char *);
extern int PMPI_Info_dup (MPI_Info, MPI_Info *);
extern MPI_Info PMPI_Info_f2c (MPI_Fint);
extern int PMPI_Info_free (MPI_Info *);
extern int PMPI_Info_get (MPI_Info, char *, int, char *, int *);
extern int PMPI_Info_get_nkeys (MPI_Info, int *);
extern int PMPI_Info_get_nthkey (MPI_Info, int, char *);
extern int PMPI_Info_get_valuelen (MPI_Info, char *, int *, int *);
extern int PMPI_Info_set (MPI_Info, char *, char *);
extern int PMPI_Init (int *, char ***);
extern int PMPI_Initialized (int *);
extern int PMPI_Init_thread (int *, char ***, int, int *);
extern int PMPI_Intercomm_create (MPI_Comm, int, MPI_Comm, int, int, MPI_Comm *);

extern int PMPI_Intercomm_merge (MPI_Comm, int, MPI_Comm *);
extern int PMPI_Iprobe (int, int, MPI_Comm, int *, MPI_Status *);
extern int PMPI_Irecv (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int PMPI_Irsend (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int PMPI_Isend (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int PMPI_Issend (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int PMPI_Is_thread_main (int *);
extern int PMPI_Keyval_create (MPI_Copy_function *, MPI_Delete_function *, int *, void *);

extern int PMPI_Keyval_free (int *);
extern int PMPI_Lookup_name (char *, MPI_Info, char *);
extern MPI_Fint MPI_Op_c2f (MPI_Op op);
extern int PMPI_Op_create (MPI_User_function *, int, MPI_Op *);
extern int PMPI_Open_port (MPI_Info, char *);
extern MPI_Op MPI_Op_f2c (MPI_Fint f_handle);
extern int PMPI_Op_free (MPI_Op *);
extern int PMPI_Pack (void *, int, MPI_Datatype, void *, int, int *, MPI_Comm);

extern int PMPI_Pack_size (int, MPI_Datatype, MPI_Comm, int *);
extern int PMPI_Pcontrol (int level, ...);
extern int PMPI_Probe (int, int, MPI_Comm, MPI_Status *);
extern int PMPI_Publish_name (char *, MPI_Info, char *);
extern int PMPI_Put (void *, int, MPI_Datatype, int, MPI_Aint, int, MPI_Datatype, MPI_Win);

extern int PMPI_Query_thread (int *);
extern int PMPI_Recv (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status *);

extern int PMPI_Recv_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int PMPI_Reduce (void *, void *, int, MPI_Datatype, MPI_Op, int, MPI_Comm);

extern int PMPI_Reduce_scatter (void *, void *, int *, MPI_Datatype, MPI_Op, MPI_Comm);

extern MPI_Fint PMPI_Request_c2f (MPI_Request);
extern MPI_Request PMPI_Request_f2c (MPI_Fint);
extern int PMPI_Request_free (MPI_Request *);
extern int PMPI_Rsend (void *, int, MPI_Datatype, int, int, MPI_Comm);
extern int PMPI_Rsend_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int PMPI_Scan (void *, void *, int, MPI_Datatype, MPI_Op, MPI_Comm);

extern int PMPI_Scatter (void *, int, MPI_Datatype, void *, int, MPI_Datatype, int, MPI_Comm);

extern int PMPI_Scatterv (void *, int *, int *, MPI_Datatype, void *, int, MPI_Datatype, int, MPI_Comm);

extern int PMPI_Send (void *, int, MPI_Datatype, int, int, MPI_Comm);
extern int PMPI_Send_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int PMPI_Sendrecv (void *, int, MPI_Datatype, int, int, void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status *);


extern int PMPI_Sendrecv_replace (void *, int, MPI_Datatype, int, int, int, int, MPI_Comm, MPI_Status *);

extern int PMPI_Ssend (void *, int, MPI_Datatype, int, int, MPI_Comm);
extern int PMPI_Ssend_init (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int PMPI_Startall (int, MPI_Request *);
extern int PMPI_Start (MPI_Request *);
extern int PMPI_Status_c2f (MPI_Status *, MPI_Fint *);
extern int PMPI_Status_f2c (MPI_Fint *, MPI_Status *);
extern int PMPI_Testall (int, MPI_Request *, int *, MPI_Status *);
extern int PMPI_Testany (int, MPI_Request *, int *, int *, MPI_Status *);

extern int PMPI_Test (MPI_Request *, int *, MPI_Status *);
extern int PMPI_Test_cancelled (MPI_Status *, int *);
extern int PMPI_Testsome (int, MPI_Request *, int *, int *, MPI_Status *);

extern int PMPI_Topo_test (MPI_Comm, int *);
extern MPI_Fint PMPI_Type_c2f (MPI_Datatype);
extern int PMPI_Type_commit (MPI_Datatype *);
extern int PMPI_Type_contiguous (int, MPI_Datatype, MPI_Datatype *);
extern int PMPI_Type_create_darray (int, int, int, int *, int *, int *, int*, int, MPI_Datatype, MPI_Datatype *);


extern int PMPI_Type_create_hindexed (int, int *, MPI_Aint *, MPI_Datatype, MPI_Datatype *);

extern int PMPI_Type_create_hvector (int, int, MPI_Aint, MPI_Datatype, MPI_Datatype *);

extern int PMPI_Type_create_keyval (MPI_Type_copy_attr_function *, MPI_Type_delete_attr_function *, int *, void *);


extern int PMPI_Type_create_resized (MPI_Datatype, MPI_Aint, MPI_Aint, MPI_Datatype *);

extern int PMPI_Type_create_struct (int, int *, MPI_Aint *, MPI_Datatype *, MPI_Datatype *);

extern int PMPI_Type_create_subarray (int, int *, int *, int *, int, MPI_Datatype, MPI_Datatype *);

extern int PMPI_Type_delete_attr (MPI_Datatype, int);
extern int PMPI_Type_dup (MPI_Datatype, MPI_Datatype *);
extern int PMPI_Type_extent (MPI_Datatype, MPI_Aint *);
extern MPI_Datatype PMPI_Type_f2c (MPI_Fint);
extern int PMPI_Type_free (MPI_Datatype *);
extern int PMPI_Type_free_keyval (int *);
extern int PMPI_Type_get_attr (MPI_Datatype, int, void *, int *);
extern int PMPI_Type_get_contents (MPI_Datatype, int, int, int, int *, MPI_Aint *, MPI_Datatype *);

extern int PMPI_Type_get_envelope (MPI_Datatype, int *, int *, int *, int *);

extern int PMPI_Type_get_extent (MPI_Datatype, MPI_Aint *, MPI_Aint *);
extern int PMPI_Type_get_name (MPI_Datatype, char *, int *);
extern int PMPI_Type_get_true_extent (MPI_Datatype, MPI_Aint *, MPI_Aint *);

extern int PMPI_Type_hindexed (int, int *, MPI_Aint *, MPI_Datatype, MPI_Datatype *);

extern int PMPI_Type_hvector (int, int, MPI_Aint, MPI_Datatype, MPI_Datatype *);

extern int PMPI_Type_indexed (int, int *, int *, MPI_Datatype, MPI_Datatype *);

extern int PMPI_Type_lb (MPI_Datatype, MPI_Aint *);
extern int PMPI_Type_set_attr (MPI_Datatype, int, void *);
extern int PMPI_Type_set_name (MPI_Datatype, char *);
extern int PMPI_Type_size (MPI_Datatype, int *);
extern int PMPI_Type_struct (int, int *, MPI_Aint *, MPI_Datatype *, MPI_Datatype *);

extern int PMPI_Type_ub (MPI_Datatype, MPI_Aint *);
extern int PMPI_Type_vector (int, int, int, MPI_Datatype, MPI_Datatype *);

extern int PMPI_Unpack (void *, int, int *, void *, int, MPI_Datatype, MPI_Comm);

extern int PMPI_Unpublish_name (char *, MPI_Info, char *);
extern int PMPI_Waitall (int, MPI_Request *, MPI_Status *);
extern int PMPI_Waitany (int, MPI_Request *, int *, MPI_Status *);
extern int PMPI_Wait (MPI_Request *, MPI_Status *);
extern int PMPI_Waitsome (int, MPI_Request *, int *, int *, MPI_Status *);

extern MPI_Fint PMPI_Win_c2f (MPI_Win);
extern int PMPI_Win_complete (MPI_Win);
extern int PMPI_Win_create (void *, MPI_Aint, int, MPI_Info, MPI_Comm, MPI_Win *);

extern int PMPI_Win_create_errhandler (MPI_Win_errhandler_fn *, MPI_Errhandler *);

extern int PMPI_Win_create_keyval (MPI_Win_copy_attr_function *, MPI_Win_delete_attr_function *, int *, void *);


extern int PMPI_Win_delete_attr (MPI_Win, int);
extern int PMPI_Win_fence (int, MPI_Win);
extern MPI_Win PMPI_Win_f2c (MPI_Fint);
extern int PMPI_Win_free (MPI_Win *);
extern int PMPI_Win_free_keyval (int *);
extern int PMPI_Win_get_attr (MPI_Win, int, void *, int *);
extern int PMPI_Win_get_errhandler (MPI_Win, MPI_Errhandler *);
extern int PMPI_Win_get_group (MPI_Win, MPI_Group *);
extern int PMPI_Win_get_name (MPI_Win, char *, int *);
extern int PMPI_Win_post (MPI_Group, int, MPI_Win);
extern int PMPI_Win_set_attr (MPI_Win, int, void *);
extern int PMPI_Win_set_errhandler (MPI_Win, MPI_Errhandler);
extern int PMPI_Win_set_name (MPI_Win, char *);
extern int PMPI_Win_start (MPI_Group, int, MPI_Win);
extern int PMPI_Win_wait (MPI_Win);
extern double PMPI_Wtick (void);
extern double PMPI_Wtime (void);




extern int MPIL_Spawn (MPI_Comm, char *, int, MPI_Comm *);
extern int MPIL_Comm_parent (MPI_Comm *);
extern int MPIL_Universe_size (int *);
extern int MPIL_Comm_id (MPI_Comm, int *);
extern int MPIL_Comm_gps (MPI_Comm, int, int *, int *);
extern int MPIL_Type_id (MPI_Datatype, int *);
extern int MPIL_Trace_on (void);
extern int MPIL_Trace_off (void);
extern int MPIL_Signal (MPI_Comm, int, int);
extern int MPIL_Request_set_name (MPI_Request, char *);
extern char *MPIL_Request_get_name (MPI_Request);

extern int PMPIL_Spawn (MPI_Comm, char *, int, MPI_Comm *);
extern int PMPIL_Comm_parent (MPI_Comm *);
extern int PMPIL_Universe_size (int *);
extern int PMPIL_Comm_id (MPI_Comm, int *);
extern int PMPIL_Comm_gps (MPI_Comm, int, int *, int *);
extern int PMPIL_Type_id (MPI_Datatype, int *);
extern int PMPIL_Trace_on (void);
extern int PMPIL_Trace_off (void);
extern int PMPIL_Signal (MPI_Comm, int, int);
extern int PMPIL_Request_set_name (MPI_Request, char *);
extern char *PMPIL_Request_get_name (MPI_Request);

extern int XMPI_Buoy (const char* name);
extern int XMPI_Coloron (int red, int green, int blue);
extern int XMPI_Coloroff (void);




extern int MPI_Comm_get_contextid (MPI_Comm, int *);
# 33 "bcast.c" 2
# 1 "../../share/include/mpisys.h" 1
# 23 "../../share/include/mpisys.h"
# 1 "/usr/include/errno.h" 1 3 4
# 24 "../../share/include/mpisys.h" 2
# 1 "/usr/include/stdio.h" 1 3 4
# 30 "/usr/include/stdio.h" 3 4




# 1 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/stddef.h" 1 3 4
# 213 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/stddef.h" 3 4
typedef unsigned int size_t;
# 35 "/usr/include/stdio.h" 2 3 4

# 1 "/usr/include/bits/types.h" 1 3 4
# 28 "/usr/include/bits/types.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 29 "/usr/include/bits/types.h" 2 3 4


# 1 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/stddef.h" 1 3 4
# 32 "/usr/include/bits/types.h" 2 3 4


typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;


typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
# 63 "/usr/include/bits/types.h" 3 4
typedef struct
{
  long __val[2];
} __quad_t;
typedef struct
{
  __u_long __val[2];
} __u_quad_t;
# 128 "/usr/include/bits/types.h" 3 4
# 1 "/usr/include/bits/typesizes.h" 1 3 4
# 129 "/usr/include/bits/types.h" 2 3 4


typedef unsigned long long int __dev_t;
typedef unsigned int __uid_t;
typedef unsigned int __gid_t;
typedef unsigned long int __ino_t;
typedef unsigned long long int __ino64_t;
typedef unsigned int __mode_t;
typedef unsigned int __nlink_t;
typedef long int __off_t;
typedef long long int __off64_t;
typedef int __pid_t;
typedef struct { int __val[2]; } __fsid_t;
typedef long int __clock_t;
typedef unsigned long int __rlim_t;
typedef unsigned long long int __rlim64_t;
typedef unsigned int __id_t;
typedef long int __time_t;
typedef unsigned int __useconds_t;
typedef long int __suseconds_t;

typedef int __daddr_t;
typedef long int __swblk_t;
typedef int __key_t;


typedef int __clockid_t;


typedef int __timer_t;


typedef long int __blksize_t;




typedef long int __blkcnt_t;
typedef long long int __blkcnt64_t;


typedef unsigned long int __fsblkcnt_t;
typedef unsigned long long int __fsblkcnt64_t;


typedef unsigned long int __fsfilcnt_t;
typedef unsigned long long int __fsfilcnt64_t;




typedef int __ssize_t;
typedef __off64_t __loff_t;
typedef __quad_t *__qaddr_t;
typedef char *__caddr_t;


typedef int __intptr_t;


typedef unsigned int __socklen_t;
# 37 "/usr/include/stdio.h" 2 3 4









typedef struct _IO_FILE FILE;





# 62 "/usr/include/stdio.h" 3 4
typedef struct _IO_FILE __FILE;
# 72 "/usr/include/stdio.h" 3 4
# 1 "/usr/include/libio.h" 1 3 4
# 32 "/usr/include/libio.h" 3 4
# 1 "/usr/include/_G_config.h" 1 3 4
# 14 "/usr/include/_G_config.h" 3 4
# 1 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/stddef.h" 1 3 4
# 325 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/stddef.h" 3 4
typedef long int wchar_t;
# 354 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/stddef.h" 3 4
typedef unsigned int wint_t;
# 15 "/usr/include/_G_config.h" 2 3 4
# 24 "/usr/include/_G_config.h" 3 4
# 1 "/usr/include/wchar.h" 1 3 4
# 48 "/usr/include/wchar.h" 3 4
# 1 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/stddef.h" 1 3 4
# 49 "/usr/include/wchar.h" 2 3 4

# 1 "/usr/include/bits/wchar.h" 1 3 4
# 51 "/usr/include/wchar.h" 2 3 4
# 71 "/usr/include/wchar.h" 3 4
typedef struct
{
  int __count;
  union
  {
    wint_t __wch;
    char __wchb[4];
  } __value;
} __mbstate_t;
# 25 "/usr/include/_G_config.h" 2 3 4

typedef struct
{
  __off_t __pos;
  __mbstate_t __state;
} _G_fpos_t;
typedef struct
{
  __off64_t __pos;
  __mbstate_t __state;
} _G_fpos64_t;
# 44 "/usr/include/_G_config.h" 3 4
# 1 "/usr/include/gconv.h" 1 3 4
# 28 "/usr/include/gconv.h" 3 4
# 1 "/usr/include/wchar.h" 1 3 4
# 48 "/usr/include/wchar.h" 3 4
# 1 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/stddef.h" 1 3 4
# 49 "/usr/include/wchar.h" 2 3 4
# 29 "/usr/include/gconv.h" 2 3 4


# 1 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/stddef.h" 1 3 4
# 32 "/usr/include/gconv.h" 2 3 4





enum
{
  __GCONV_OK = 0,
  __GCONV_NOCONV,
  __GCONV_NODB,
  __GCONV_NOMEM,

  __GCONV_EMPTY_INPUT,
  __GCONV_FULL_OUTPUT,
  __GCONV_ILLEGAL_INPUT,
  __GCONV_INCOMPLETE_INPUT,

  __GCONV_ILLEGAL_DESCRIPTOR,
  __GCONV_INTERNAL_ERROR
};



enum
{
  __GCONV_IS_LAST = 0x0001,
  __GCONV_IGNORE_ERRORS = 0x0002
};



struct __gconv_step;
struct __gconv_step_data;
struct __gconv_loaded_object;
struct __gconv_trans_data;



typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *,
                            const unsigned char **, const unsigned char *,
                            unsigned char **, size_t *, int, int);


typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char);


typedef int (*__gconv_init_fct) (struct __gconv_step *);
typedef void (*__gconv_end_fct) (struct __gconv_step *);



typedef int (*__gconv_trans_fct) (struct __gconv_step *,
                                  struct __gconv_step_data *, void *,
                                  const unsigned char *,
                                  const unsigned char **,
                                  const unsigned char *, unsigned char **,
                                  size_t *);


typedef int (*__gconv_trans_context_fct) (void *, const unsigned char *,
                                          const unsigned char *,
                                          unsigned char *, unsigned char *);


typedef int (*__gconv_trans_query_fct) (const char *, const char ***,
                                        size_t *);


typedef int (*__gconv_trans_init_fct) (void **, const char *);
typedef void (*__gconv_trans_end_fct) (void *);

struct __gconv_trans_data
{

  __gconv_trans_fct __trans_fct;
  __gconv_trans_context_fct __trans_context_fct;
  __gconv_trans_end_fct __trans_end_fct;
  void *__data;
  struct __gconv_trans_data *__next;
};



struct __gconv_step
{
  struct __gconv_loaded_object *__shlib_handle;
  const char *__modname;

  int __counter;

  char *__from_name;
  char *__to_name;

  __gconv_fct __fct;
  __gconv_btowc_fct __btowc_fct;
  __gconv_init_fct __init_fct;
  __gconv_end_fct __end_fct;



  int __min_needed_from;
  int __max_needed_from;
  int __min_needed_to;
  int __max_needed_to;


  int __stateful;

  void *__data;
};



struct __gconv_step_data
{
  unsigned char *__outbuf;
  unsigned char *__outbufend;



  int __flags;



  int __invocation_counter;



  int __internal_use;

  __mbstate_t *__statep;
  __mbstate_t __state;



  struct __gconv_trans_data *__trans;
};



typedef struct __gconv_info
{
  size_t __nsteps;
  struct __gconv_step *__steps;
  struct __gconv_step_data __data [1];
} *__gconv_t;
# 45 "/usr/include/_G_config.h" 2 3 4
typedef union
{
  struct __gconv_info __cd;
  struct
  {
    struct __gconv_info __cd;
    struct __gconv_step_data __data;
  } __combined;
} _G_iconv_t;

typedef int _G_int16_t ;
typedef int _G_int32_t ;
typedef unsigned int _G_uint16_t ;
typedef unsigned int _G_uint32_t ;
# 33 "/usr/include/libio.h" 2 3 4
# 53 "/usr/include/libio.h" 3 4
# 1 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/stdarg.h" 1 3 4
# 43 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/stdarg.h" 3 4
typedef __builtin_va_list __gnuc_va_list;
# 54 "/usr/include/libio.h" 2 3 4
# 162 "/usr/include/libio.h" 3 4
struct _IO_jump_t; struct _IO_FILE;
# 172 "/usr/include/libio.h" 3 4
typedef void _IO_lock_t;





struct _IO_marker {
  struct _IO_marker *_next;
  struct _IO_FILE *_sbuf;



  int _pos;
# 195 "/usr/include/libio.h" 3 4
};


enum __codecvt_result
{
  __codecvt_ok,
  __codecvt_partial,
  __codecvt_error,
  __codecvt_noconv
};
# 263 "/usr/include/libio.h" 3 4
struct _IO_FILE {
  int _flags;




  char* _IO_read_ptr;
  char* _IO_read_end;
  char* _IO_read_base;
  char* _IO_write_base;
  char* _IO_write_ptr;
  char* _IO_write_end;
  char* _IO_buf_base;
  char* _IO_buf_end;

  char *_IO_save_base;
  char *_IO_backup_base;
  char *_IO_save_end;

  struct _IO_marker *_markers;

  struct _IO_FILE *_chain;

  int _fileno;



  int _flags2;

  __off_t _old_offset;



  unsigned short _cur_column;
  signed char _vtable_offset;
  char _shortbuf[1];



  _IO_lock_t *_lock;
# 311 "/usr/include/libio.h" 3 4
  __off64_t _offset;





  void *__pad1;
  void *__pad2;

  int _mode;

  char _unused2[15 * sizeof (int) - 2 * sizeof (void *)];

};


typedef struct _IO_FILE _IO_FILE;


struct _IO_FILE_plus;

extern struct _IO_FILE_plus _IO_2_1_stdin_;
extern struct _IO_FILE_plus _IO_2_1_stdout_;
extern struct _IO_FILE_plus _IO_2_1_stderr_;
# 350 "/usr/include/libio.h" 3 4
typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);







typedef __ssize_t __io_write_fn (void *__cookie, const char *__buf,
                                 size_t __n);







typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w);


typedef int __io_close_fn (void *__cookie);
# 402 "/usr/include/libio.h" 3 4
extern int __underflow (_IO_FILE *) ;
extern int __uflow (_IO_FILE *) ;
extern int __overflow (_IO_FILE *, int) ;
extern wint_t __wunderflow (_IO_FILE *) ;
extern wint_t __wuflow (_IO_FILE *) ;
extern wint_t __woverflow (_IO_FILE *, wint_t) ;
# 432 "/usr/include/libio.h" 3 4
extern int _IO_getc (_IO_FILE *__fp) ;
extern int _IO_putc (int __c, _IO_FILE *__fp) ;
extern int _IO_feof (_IO_FILE *__fp) ;
extern int _IO_ferror (_IO_FILE *__fp) ;

extern int _IO_peekc_locked (_IO_FILE *__fp) ;





extern void _IO_flockfile (_IO_FILE *) ;
extern void _IO_funlockfile (_IO_FILE *) ;
extern int _IO_ftrylockfile (_IO_FILE *) ;
# 462 "/usr/include/libio.h" 3 4
extern int _IO_vfscanf (_IO_FILE * , const char * ,
                        __gnuc_va_list, int *) ;
extern int _IO_vfprintf (_IO_FILE *, const char *,
                         __gnuc_va_list) ;
extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t) ;
extern size_t _IO_sgetn (_IO_FILE *, void *, size_t) ;

extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) ;
extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) ;

extern void _IO_free_backup_area (_IO_FILE *) ;
# 73 "/usr/include/stdio.h" 2 3 4
# 86 "/usr/include/stdio.h" 3 4


typedef _G_fpos_t fpos_t;




# 138 "/usr/include/stdio.h" 3 4
# 1 "/usr/include/bits/stdio_lim.h" 1 3 4
# 139 "/usr/include/stdio.h" 2 3 4



extern struct _IO_FILE *stdin;
extern struct _IO_FILE *stdout;
extern struct _IO_FILE *stderr;







extern int remove (const char *__filename) ;

extern int rename (const char *__old, const char *__new) ;






extern FILE *tmpfile (void) ;
# 171 "/usr/include/stdio.h" 3 4
extern char *tmpnam (char *__s) ;

# 181 "/usr/include/stdio.h" 3 4
extern char *tmpnam_r (char *__s) ;
# 193 "/usr/include/stdio.h" 3 4
extern char *tempnam (const char *__dir, const char *__pfx)
     ;





extern int fclose (FILE *__stream) ;

extern int fflush (FILE *__stream) ;




extern int fflush_unlocked (FILE *__stream) ;
# 216 "/usr/include/stdio.h" 3 4



extern FILE *fopen (const char * __filename,
                    const char * __modes) ;

extern FILE *freopen (const char * __filename,
                      const char * __modes,
                      FILE * __stream) ;
# 239 "/usr/include/stdio.h" 3 4

# 250 "/usr/include/stdio.h" 3 4
extern FILE *fdopen (int __fd, const char *__modes) ;
# 271 "/usr/include/stdio.h" 3 4



extern void setbuf (FILE * __stream, char * __buf) ;



extern int setvbuf (FILE * __stream, char * __buf,
                    int __modes, size_t __n) ;





extern void setbuffer (FILE * __stream, char * __buf,
                       size_t __size) ;


extern void setlinebuf (FILE *__stream) ;





extern int fprintf (FILE * __stream,
                    const char * __format, ...) ;

extern int printf (const char * __format, ...) ;

extern int sprintf (char * __s,
                    const char * __format, ...) ;


extern int vfprintf (FILE * __s, const char * __format,
                     __gnuc_va_list __arg) ;

extern int vprintf (const char * __format, __gnuc_va_list __arg)
     ;

extern int vsprintf (char * __s, const char * __format,
                     __gnuc_va_list __arg) ;





extern int snprintf (char * __s, size_t __maxlen,
                     const char * __format, ...)
     ;

extern int vsnprintf (char * __s, size_t __maxlen,
                      const char * __format, __gnuc_va_list __arg)
     ;

# 349 "/usr/include/stdio.h" 3 4


extern int fscanf (FILE * __stream,
                   const char * __format, ...) ;

extern int scanf (const char * __format, ...) ;

extern int sscanf (const char * __s,
                   const char * __format, ...) ;

# 379 "/usr/include/stdio.h" 3 4


extern int fgetc (FILE *__stream) ;
extern int getc (FILE *__stream) ;


extern int getchar (void) ;








extern int getc_unlocked (FILE *__stream) ;
extern int getchar_unlocked (void) ;




extern int fgetc_unlocked (FILE *__stream) ;





extern int fputc (int __c, FILE *__stream) ;
extern int putc (int __c, FILE *__stream) ;


extern int putchar (int __c) ;








extern int fputc_unlocked (int __c, FILE *__stream) ;




extern int putc_unlocked (int __c, FILE *__stream) ;
extern int putchar_unlocked (int __c) ;





extern int getw (FILE *__stream) ;


extern int putw (int __w, FILE *__stream) ;





extern char *fgets (char * __s, int __n, FILE * __stream)
     ;



extern char *gets (char *__s) ;

# 475 "/usr/include/stdio.h" 3 4


extern int fputs (const char * __s, FILE * __stream)
     ;


extern int puts (const char *__s) ;



extern int ungetc (int __c, FILE *__stream) ;



extern size_t fread (void * __ptr, size_t __size,
                     size_t __n, FILE * __stream) ;

extern size_t fwrite (const void * __ptr, size_t __size,
                      size_t __n, FILE * __s) ;

# 504 "/usr/include/stdio.h" 3 4
extern size_t fread_unlocked (void * __ptr, size_t __size,
                              size_t __n, FILE * __stream) ;
extern size_t fwrite_unlocked (const void * __ptr, size_t __size,
                               size_t __n, FILE * __stream) ;





extern int fseek (FILE *__stream, long int __off, int __whence) ;

extern long int ftell (FILE *__stream) ;

extern void rewind (FILE *__stream) ;

# 544 "/usr/include/stdio.h" 3 4



extern int fgetpos (FILE * __stream, fpos_t * __pos)
     ;

extern int fsetpos (FILE *__stream, const fpos_t *__pos) ;
# 563 "/usr/include/stdio.h" 3 4

# 573 "/usr/include/stdio.h" 3 4


extern void clearerr (FILE *__stream) ;

extern int feof (FILE *__stream) ;

extern int ferror (FILE *__stream) ;




extern void clearerr_unlocked (FILE *__stream) ;
extern int feof_unlocked (FILE *__stream) ;
extern int ferror_unlocked (FILE *__stream) ;





extern void perror (const char *__s) ;






# 1 "/usr/include/bits/sys_errlist.h" 1 3 4
# 27 "/usr/include/bits/sys_errlist.h" 3 4
extern int sys_nerr;
extern const char *const sys_errlist[];
# 600 "/usr/include/stdio.h" 2 3 4




extern int fileno (FILE *__stream) ;




extern int fileno_unlocked (FILE *__stream) ;






extern FILE *popen (const char *__command, const char *__modes) ;


extern int pclose (FILE *__stream) ;





extern char *ctermid (char *__s) ;
# 653 "/usr/include/stdio.h" 3 4
extern void flockfile (FILE *__stream) ;



extern int ftrylockfile (FILE *__stream) ;


extern void funlockfile (FILE *__stream) ;
# 677 "/usr/include/stdio.h" 3 4

# 25 "../../share/include/mpisys.h" 2
# 1 "/usr/include/stdlib.h" 1 3 4
# 33 "/usr/include/stdlib.h" 3 4
# 1 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/stddef.h" 1 3 4
# 34 "/usr/include/stdlib.h" 2 3 4


# 93 "/usr/include/stdlib.h" 3 4


typedef struct
  {
    int quot;
    int rem;
  } div_t;



typedef struct
  {
    long int quot;
    long int rem;
  } ldiv_t;



# 137 "/usr/include/stdlib.h" 3 4
extern size_t __ctype_get_mb_cur_max (void) ;




extern double atof (const char *__nptr) ;

extern int atoi (const char *__nptr) ;

extern long int atol (const char *__nptr) ;

# 157 "/usr/include/stdlib.h" 3 4


extern double strtod (const char * __nptr,
                      char ** __endptr) ;

# 174 "/usr/include/stdlib.h" 3 4


extern long int strtol (const char * __nptr,
                        char ** __endptr, int __base) ;

extern unsigned long int strtoul (const char * __nptr,
                                  char ** __endptr, int __base)
     ;

# 264 "/usr/include/stdlib.h" 3 4
extern double __strtod_internal (const char * __nptr,
                                 char ** __endptr, int __group)
     ;
extern float __strtof_internal (const char * __nptr,
                                char ** __endptr, int __group)
     ;
extern long double __strtold_internal (const char * __nptr,
                                       char ** __endptr,
                                       int __group) ;

extern long int __strtol_internal (const char * __nptr,
                                   char ** __endptr,
                                   int __base, int __group) ;



extern unsigned long int __strtoul_internal (const char * __nptr,
                                             char ** __endptr,
                                             int __base, int __group) ;
# 408 "/usr/include/stdlib.h" 3 4
extern char *l64a (long int __n) ;


extern long int a64l (const char *__s) ;


# 1 "/usr/include/sys/types.h" 1 3 4
# 29 "/usr/include/sys/types.h" 3 4






typedef __u_char u_char;
typedef __u_short u_short;
typedef __u_int u_int;
typedef __u_long u_long;
typedef __quad_t quad_t;
typedef __u_quad_t u_quad_t;
typedef __fsid_t fsid_t;




typedef __loff_t loff_t;



typedef __ino_t ino_t;
# 62 "/usr/include/sys/types.h" 3 4
typedef __dev_t dev_t;




typedef __gid_t gid_t;




typedef __mode_t mode_t;




typedef __nlink_t nlink_t;




typedef __uid_t uid_t;





typedef __off_t off_t;
# 100 "/usr/include/sys/types.h" 3 4
typedef __pid_t pid_t;




typedef __id_t id_t;




typedef __ssize_t ssize_t;





typedef __daddr_t daddr_t;
typedef __caddr_t caddr_t;





typedef __key_t key_t;
# 133 "/usr/include/sys/types.h" 3 4
# 1 "/usr/include/time.h" 1 3 4
# 74 "/usr/include/time.h" 3 4


typedef __time_t time_t;



# 92 "/usr/include/time.h" 3 4
typedef __clockid_t clockid_t;
# 104 "/usr/include/time.h" 3 4
typedef __timer_t timer_t;
# 134 "/usr/include/sys/types.h" 2 3 4
# 147 "/usr/include/sys/types.h" 3 4
# 1 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/stddef.h" 1 3 4
# 148 "/usr/include/sys/types.h" 2 3 4



typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;
# 163 "/usr/include/sys/types.h" 3 4
typedef char int8_t;
typedef short int int16_t;
typedef int int32_t;






typedef unsigned char u_int8_t;
typedef unsigned short int u_int16_t;
typedef unsigned int u_int32_t;




typedef int register_t;
# 213 "/usr/include/sys/types.h" 3 4
# 1 "/usr/include/endian.h" 1 3 4
# 37 "/usr/include/endian.h" 3 4
# 1 "/usr/include/bits/endian.h" 1 3 4
# 38 "/usr/include/endian.h" 2 3 4
# 214 "/usr/include/sys/types.h" 2 3 4


# 1 "/usr/include/sys/select.h" 1 3 4
# 31 "/usr/include/sys/select.h" 3 4
# 1 "/usr/include/bits/select.h" 1 3 4
# 32 "/usr/include/sys/select.h" 2 3 4


# 1 "/usr/include/bits/sigset.h" 1 3 4
# 23 "/usr/include/bits/sigset.h" 3 4
typedef int __sig_atomic_t;




typedef struct
  {
    unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
  } __sigset_t;
# 35 "/usr/include/sys/select.h" 2 3 4



typedef __sigset_t sigset_t;





# 1 "/usr/include/time.h" 1 3 4
# 116 "/usr/include/time.h" 3 4
struct timespec
  {
    __time_t tv_sec;
    long int tv_nsec;
  };
# 45 "/usr/include/sys/select.h" 2 3 4

# 1 "/usr/include/bits/time.h" 1 3 4
# 67 "/usr/include/bits/time.h" 3 4
struct timeval
  {
    __time_t tv_sec;
    __suseconds_t tv_usec;
  };
# 47 "/usr/include/sys/select.h" 2 3 4


typedef __suseconds_t suseconds_t;





typedef long int __fd_mask;
# 67 "/usr/include/sys/select.h" 3 4
typedef struct
  {






    __fd_mask __fds_bits[1024 / (8 * sizeof (__fd_mask))];


  } fd_set;






typedef __fd_mask fd_mask;
# 99 "/usr/include/sys/select.h" 3 4







extern int select (int __nfds, fd_set * __readfds,
                   fd_set * __writefds,
                   fd_set * __exceptfds,
                   struct timeval * __timeout) ;
# 122 "/usr/include/sys/select.h" 3 4

# 217 "/usr/include/sys/types.h" 2 3 4


# 1 "/usr/include/sys/sysmacros.h" 1 3 4
# 220 "/usr/include/sys/types.h" 2 3 4
# 231 "/usr/include/sys/types.h" 3 4
typedef __blkcnt_t blkcnt_t;



typedef __fsblkcnt_t fsblkcnt_t;



typedef __fsfilcnt_t fsfilcnt_t;
# 266 "/usr/include/sys/types.h" 3 4
# 1 "/usr/include/bits/pthreadtypes.h" 1 3 4
# 23 "/usr/include/bits/pthreadtypes.h" 3 4
# 1 "/usr/include/bits/sched.h" 1 3 4
# 83 "/usr/include/bits/sched.h" 3 4
struct __sched_param
  {
    int __sched_priority;
  };
# 24 "/usr/include/bits/pthreadtypes.h" 2 3 4





typedef volatile struct {
  int lock[4];
} __atomic_lock_t;


struct _pthread_fastlock
{
  __atomic_lock_t __spinlock;

  long int __status;
};



typedef struct _pthread_descr_struct *_pthread_descr;





typedef struct __pthread_attr_s
{
  int __detachstate;
  int __schedpolicy;
  struct __sched_param __schedparam;
  int __inheritsched;
  int __scope;
  size_t __guardsize;
  int __stackaddr_set;
  void *__stackaddr;
  size_t __stacksize;
} pthread_attr_t;



typedef struct
{
  struct _pthread_fastlock __c_lock;
  _pthread_descr __c_waiting;
} pthread_cond_t;



typedef struct
{
  int __dummy;
} pthread_condattr_t;


typedef unsigned int pthread_key_t;





typedef struct
{
  int __m_reserved;
  int __m_count;
  _pthread_descr __m_owner;
  int __m_kind;
  struct _pthread_fastlock __m_lock;
} pthread_mutex_t;



typedef struct
{
  int __mutexkind;
} pthread_mutexattr_t;



typedef int pthread_once_t;
# 148 "/usr/include/bits/pthreadtypes.h" 3 4
typedef unsigned long int pthread_t;
# 267 "/usr/include/sys/types.h" 2 3 4



# 415 "/usr/include/stdlib.h" 2 3 4






extern long int random (void) ;


extern void srandom (unsigned int __seed) ;





extern char *initstate (unsigned int __seed, char *__statebuf,
                        size_t __statelen) ;



extern char *setstate (char *__statebuf) ;







struct random_data
  {
    int32_t *fptr;
    int32_t *rptr;
    int32_t *state;
    int rand_type;
    int rand_deg;
    int rand_sep;
    int32_t *end_ptr;
  };

extern int random_r (struct random_data * __buf,
                     int32_t * __result) ;

extern int srandom_r (unsigned int __seed, struct random_data *__buf) ;

extern int initstate_r (unsigned int __seed, char * __statebuf,
                        size_t __statelen,
                        struct random_data * __buf) ;

extern int setstate_r (char * __statebuf,
                       struct random_data * __buf) ;






extern int rand (void) ;

extern void srand (unsigned int __seed) ;




extern int rand_r (unsigned int *__seed) ;







extern double drand48 (void) ;
extern double erand48 (unsigned short int __xsubi[3]) ;


extern long int lrand48 (void) ;
extern long int nrand48 (unsigned short int __xsubi[3]) ;


extern long int mrand48 (void) ;
extern long int jrand48 (unsigned short int __xsubi[3]) ;


extern void srand48 (long int __seedval) ;
extern unsigned short int *seed48 (unsigned short int __seed16v[3]) ;
extern void lcong48 (unsigned short int __param[7]) ;





struct drand48_data
  {
    unsigned short int __x[3];
    unsigned short int __old_x[3];
    unsigned short int __c;
    unsigned short int __init;
    unsigned long long int __a;
  };


extern int drand48_r (struct drand48_data * __buffer,
                      double * __result) ;
extern int erand48_r (unsigned short int __xsubi[3],
                      struct drand48_data * __buffer,
                      double * __result) ;


extern int lrand48_r (struct drand48_data * __buffer,
                      long int * __result) ;
extern int nrand48_r (unsigned short int __xsubi[3],
                      struct drand48_data * __buffer,
                      long int * __result) ;


extern int mrand48_r (struct drand48_data * __buffer,
                      long int * __result) ;
extern int jrand48_r (unsigned short int __xsubi[3],
                      struct drand48_data * __buffer,
                      long int * __result) ;


extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
     ;

extern int seed48_r (unsigned short int __seed16v[3],
                     struct drand48_data *__buffer) ;

extern int lcong48_r (unsigned short int __param[7],
                      struct drand48_data *__buffer) ;









extern void *malloc (size_t __size) ;

extern void *calloc (size_t __nmemb, size_t __size)
     ;







extern void *realloc (void *__ptr, size_t __size) ;

extern void free (void *__ptr) ;




extern void cfree (void *__ptr) ;



# 1 "/usr/include/alloca.h" 1 3 4
# 25 "/usr/include/alloca.h" 3 4
# 1 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/stddef.h" 1 3 4
# 26 "/usr/include/alloca.h" 2 3 4







extern void *alloca (size_t __size) ;






# 577 "/usr/include/stdlib.h" 2 3 4




extern void *valloc (size_t __size) ;
# 590 "/usr/include/stdlib.h" 3 4


extern void abort (void) ;



extern int atexit (void (*__func) (void)) ;





extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
     ;






extern void exit (int __status) ;

# 622 "/usr/include/stdlib.h" 3 4


extern char *getenv (const char *__name) ;




extern char *__secure_getenv (const char *__name) ;





extern int putenv (char *__string) ;





extern int setenv (const char *__name, const char *__value, int __replace)
     ;


extern int unsetenv (const char *__name) ;






extern int clearenv (void) ;
# 661 "/usr/include/stdlib.h" 3 4
extern char *mktemp (char *__template) ;







extern int mkstemp (char *__template) ;
# 688 "/usr/include/stdlib.h" 3 4
extern char *mkdtemp (char *__template) ;





extern int system (const char *__command) ;

# 712 "/usr/include/stdlib.h" 3 4
extern char *realpath (const char * __name,
                       char * __resolved) ;






typedef int (*__compar_fn_t) (const void *, const void *);









extern void *bsearch (const void *__key, const void *__base,
                      size_t __nmemb, size_t __size, __compar_fn_t __compar);



extern void qsort (void *__base, size_t __nmemb, size_t __size,
                   __compar_fn_t __compar);



extern int abs (int __x) ;
extern long int labs (long int __x) ;












extern div_t div (int __numer, int __denom)
     ;
extern ldiv_t ldiv (long int __numer, long int __denom)
     ;

# 776 "/usr/include/stdlib.h" 3 4
extern char *ecvt (double __value, int __ndigit, int * __decpt,
                   int * __sign) ;




extern char *fcvt (double __value, int __ndigit, int * __decpt,
                   int * __sign) ;




extern char *gcvt (double __value, int __ndigit, char *__buf) ;




extern char *qecvt (long double __value, int __ndigit,
                    int * __decpt, int * __sign) ;
extern char *qfcvt (long double __value, int __ndigit,
                    int * __decpt, int * __sign) ;
extern char *qgcvt (long double __value, int __ndigit, char *__buf) ;




extern int ecvt_r (double __value, int __ndigit, int * __decpt,
                   int * __sign, char * __buf,
                   size_t __len) ;
extern int fcvt_r (double __value, int __ndigit, int * __decpt,
                   int * __sign, char * __buf,
                   size_t __len) ;

extern int qecvt_r (long double __value, int __ndigit,
                    int * __decpt, int * __sign,
                    char * __buf, size_t __len) ;
extern int qfcvt_r (long double __value, int __ndigit,
                    int * __decpt, int * __sign,
                    char * __buf, size_t __len) ;







extern int mblen (const char *__s, size_t __n) ;


extern int mbtowc (wchar_t * __pwc,
                   const char * __s, size_t __n) ;


extern int wctomb (char *__s, wchar_t __wchar) ;



extern size_t mbstowcs (wchar_t * __pwcs,
                        const char * __s, size_t __n) ;

extern size_t wcstombs (char * __s,
                        const wchar_t * __pwcs, size_t __n)
     ;








extern int rpmatch (const char *__response) ;
# 908 "/usr/include/stdlib.h" 3 4
extern int getloadavg (double __loadavg[], int __nelem) ;






# 26 "../../share/include/mpisys.h" 2


# 1 "../../share/include/all_list.h" 1
# 27 "../../share/include/all_list.h"
struct al_head {
        struct al_head *al_next;
        struct al_head *al_prev;
};

struct al_desc {
        int4 al_elemsize;
        int4 al_nelem;
        struct al_head *al_ltop;
        struct al_head *al_lbottom;
        struct al_head *al_ftop;
        int4 (*al_comp)();
};

typedef struct al_desc LIST;
# 53 "../../share/include/all_list.h"
extern LIST *al_init (int4 elemsize, int4 (*comp)());
extern void *al_append (LIST *ald, void *unew);
extern void *al_find (LIST *ald, void *key);
extern void *al_insert (LIST *ald, void *unew);
extern void *al_next (LIST *ald, void *old);
extern void *al_prev (LIST *ald, void *old);
extern int4 al_delete (LIST *ald, void *old);
extern int4 al_free (LIST *ald);
# 29 "../../share/include/mpisys.h" 2
# 1 "../../share/include/all_hash.h" 1
# 35 "../../share/include/all_hash.h"
struct ah_desc {
        int4 ah_maxnelem;
        int4 ah_nelem;
        int4 ah_elemsize;
        int4 ah_nullkey;
        int4 ah_mode;
        int4 *ah_lru;
        void *ah_table;
        int (*ah_cmp)();
};




typedef struct ah_desc HASH;
typedef struct ah_desc SHASH;
# 60 "../../share/include/all_hash.h"
extern HASH *ah_init (int4 size, int4 elemsize, int4 nullkey, int4 mode);

extern SHASH *ahs_init (int4 size, int4 esize, int4 nullkey, int4 mode, void *htbl, int4 *lru, SHASH *ahsd);


extern int ah_delete (HASH *ahd, int4 key);
extern int ah_delete_elm (HASH *ahd, void *elem);
extern int ah_expand (HASH *ahd, int4 newsize);
extern int ah_insert (HASH *ahd, void *elem);
extern int ah_kick (HASH *ahd, void *elem);
extern void ah_free (HASH *ahd);
extern void ah_setcmp (HASH *ahd, int (*cmp)());
extern void *ah_find (HASH *ahd, int4 key);
extern void *ah_find_elm (HASH *ahd, void *elem);
extern void *ah_next (HASH *ahd, void *elem);
# 30 "../../share/include/mpisys.h" 2

# 1 "../../share/include/kio.h" 1
# 24 "../../share/include/kio.h"
# 1 "../../share/include/ksignal.h" 1
# 24 "../../share/include/ksignal.h"
# 1 "/usr/include/signal.h" 1 3 4
# 31 "/usr/include/signal.h" 3 4


# 1 "/usr/include/bits/sigset.h" 1 3 4
# 103 "/usr/include/bits/sigset.h" 3 4
extern int __sigismember (const __sigset_t *, int);
extern int __sigaddset (__sigset_t *, int);
extern int __sigdelset (__sigset_t *, int);
# 34 "/usr/include/signal.h" 2 3 4







typedef __sig_atomic_t sig_atomic_t;

# 58 "/usr/include/signal.h" 3 4
# 1 "/usr/include/bits/signum.h" 1 3 4
# 59 "/usr/include/signal.h" 2 3 4
# 73 "/usr/include/signal.h" 3 4
typedef void (*__sighandler_t) (int);




extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler)
     ;
# 88 "/usr/include/signal.h" 3 4


extern __sighandler_t signal (int __sig, __sighandler_t __handler) ;
# 102 "/usr/include/signal.h" 3 4

# 114 "/usr/include/signal.h" 3 4
extern int kill (__pid_t __pid, int __sig) ;






extern int killpg (__pid_t __pgrp, int __sig) ;




extern int raise (int __sig) ;




extern __sighandler_t ssignal (int __sig, __sighandler_t __handler) ;
extern int gsignal (int __sig) ;




extern void psignal (int __sig, const char *__s) ;
# 146 "/usr/include/signal.h" 3 4
extern int __sigpause (int __sig_or_mask, int __is_sig) ;




extern int sigpause (int __mask) ;
# 174 "/usr/include/signal.h" 3 4
extern int sigblock (int __mask) ;


extern int sigsetmask (int __mask) ;


extern int siggetmask (void) ;
# 194 "/usr/include/signal.h" 3 4
typedef __sighandler_t sig_t;







# 1 "/usr/include/time.h" 1 3 4
# 203 "/usr/include/signal.h" 2 3 4


# 1 "/usr/include/bits/siginfo.h" 1 3 4
# 25 "/usr/include/bits/siginfo.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 26 "/usr/include/bits/siginfo.h" 2 3 4







typedef union sigval
  {
    int sival_int;
    void *sival_ptr;
  } sigval_t;
# 51 "/usr/include/bits/siginfo.h" 3 4
typedef struct siginfo
  {
    int si_signo;
    int si_errno;

    int si_code;

    union
      {
        int _pad[((128 / sizeof (int)) - 3)];


        struct
          {
            __pid_t si_pid;
            __uid_t si_uid;
          } _kill;


        struct
          {
            unsigned int _timer1;
            unsigned int _timer2;
          } _timer;


        struct
          {
            __pid_t si_pid;
            __uid_t si_uid;
            sigval_t si_sigval;
          } _rt;


        struct
          {
            __pid_t si_pid;
            __uid_t si_uid;
            int si_status;
            __clock_t si_utime;
            __clock_t si_stime;
          } _sigchld;


        struct
          {
            void *si_addr;
          } _sigfault;


        struct
          {
            long int si_band;
            int si_fd;
          } _sigpoll;
      } _sifields;
  } siginfo_t;
# 128 "/usr/include/bits/siginfo.h" 3 4
enum
{
  SI_ASYNCNL = -6,

  SI_SIGIO,

  SI_ASYNCIO,

  SI_MESGQ,

  SI_TIMER,

  SI_QUEUE,

  SI_USER,

  SI_KERNEL = 0x80

};



enum
{
  ILL_ILLOPC = 1,

  ILL_ILLOPN,

  ILL_ILLADR,

  ILL_ILLTRP,

  ILL_PRVOPC,

  ILL_PRVREG,

  ILL_COPROC,

  ILL_BADSTK

};


enum
{
  FPE_INTDIV = 1,

  FPE_INTOVF,

  FPE_FLTDIV,

  FPE_FLTOVF,

  FPE_FLTUND,

  FPE_FLTRES,

  FPE_FLTINV,

  FPE_FLTSUB

};


enum
{
  SEGV_MAPERR = 1,

  SEGV_ACCERR

};


enum
{
  BUS_ADRALN = 1,

  BUS_ADRERR,

  BUS_OBJERR

};


enum
{
  TRAP_BRKPT = 1,

  TRAP_TRACE

};


enum
{
  CLD_EXITED = 1,

  CLD_KILLED,

  CLD_DUMPED,

  CLD_TRAPPED,

  CLD_STOPPED,

  CLD_CONTINUED

};


enum
{
  POLL_IN = 1,

  POLL_OUT,

  POLL_MSG,

  POLL_ERR,

  POLL_PRI,

  POLL_HUP

};
# 271 "/usr/include/bits/siginfo.h" 3 4
struct __pthread_attr_s;

typedef struct sigevent
  {
    sigval_t sigev_value;
    int sigev_signo;
    int sigev_notify;

    union
      {
        int _pad[((64 / sizeof (int)) - 3)];

        struct
          {
            void (*_function) (sigval_t);
            struct __pthread_attr_s *_attribute;
          } _sigev_thread;
      } _sigev_un;
  } sigevent_t;






enum
{
  SIGEV_SIGNAL = 0,

  SIGEV_NONE,

  SIGEV_THREAD

};
# 206 "/usr/include/signal.h" 2 3 4



extern int sigemptyset (sigset_t *__set) ;


extern int sigfillset (sigset_t *__set) ;


extern int sigaddset (sigset_t *__set, int __signo) ;


extern int sigdelset (sigset_t *__set, int __signo) ;


extern int sigismember (const sigset_t *__set, int __signo) ;
# 238 "/usr/include/signal.h" 3 4
# 1 "/usr/include/bits/sigaction.h" 1 3 4
# 25 "/usr/include/bits/sigaction.h" 3 4
struct sigaction
  {


    union
      {

        __sighandler_t sa_handler;

        void (*sa_sigaction) (int, siginfo_t *, void *);
      }
    __sigaction_handler;







    unsigned long int sa_flags;


    __sigset_t sa_mask;
  };
# 239 "/usr/include/signal.h" 2 3 4


extern int sigprocmask (int __how, const sigset_t * __set,
                        sigset_t * __oset) ;



extern int sigsuspend (const sigset_t *__set) ;


extern int sigaction (int __sig, const struct sigaction * __act,
                      struct sigaction * __oact) ;


extern int sigpending (sigset_t *__set) ;



extern int sigwait (const sigset_t * __set, int * __sig)
     ;



extern int sigwaitinfo (const sigset_t * __set,
                        siginfo_t * __info) ;



extern int sigtimedwait (const sigset_t * __set,
                         siginfo_t * __info,
                         const struct timespec * __timeout)
     ;



extern int sigqueue (__pid_t __pid, int __sig, const union sigval __val)
     ;
# 284 "/usr/include/signal.h" 3 4
extern const char *const _sys_siglist[64];
extern const char *const sys_siglist[64];


struct sigvec
  {
    __sighandler_t sv_handler;
    int sv_mask;

    int sv_flags;

  };
# 308 "/usr/include/signal.h" 3 4
extern int sigvec (int __sig, const struct sigvec *__vec,
                   struct sigvec *__ovec) ;



# 1 "/usr/include/bits/sigcontext.h" 1 3 4
# 28 "/usr/include/bits/sigcontext.h" 3 4
# 1 "/usr/include/asm/sigcontext.h" 1 3 4
# 9 "/usr/include/asm/sigcontext.h" 3 4
struct sigcontext {
        unsigned long sc_flags;

        unsigned long sc_gr[32];
        unsigned long long sc_fr[32];
        unsigned long sc_iasq[2];
        unsigned long sc_iaoq[2];
        unsigned long sc_sar;
};
# 29 "/usr/include/bits/sigcontext.h" 2 3 4
# 314 "/usr/include/signal.h" 2 3 4


extern int sigreturn (struct sigcontext *__scp) ;
# 326 "/usr/include/signal.h" 3 4
extern int siginterrupt (int __sig, int __interrupt) ;

# 1 "/usr/include/bits/sigstack.h" 1 3 4
# 26 "/usr/include/bits/sigstack.h" 3 4
struct sigstack
  {
    void *ss_sp;
    int ss_onstack;
  };



enum
{
  SS_ONSTACK = 1,

  SS_DISABLE

};
# 50 "/usr/include/bits/sigstack.h" 3 4
typedef struct sigaltstack
  {
    void *ss_sp;
    int ss_flags;
    size_t ss_size;
  } stack_t;
# 329 "/usr/include/signal.h" 2 3 4







extern int sigstack (struct sigstack *__ss, struct sigstack *__oss) ;



extern int sigaltstack (const struct sigaltstack * __ss,
                        struct sigaltstack * __oss) ;
# 364 "/usr/include/signal.h" 3 4
# 1 "/usr/include/bits/pthreadtypes.h" 1 3 4
# 365 "/usr/include/signal.h" 2 3 4
# 1 "/usr/include/bits/sigthread.h" 1 3 4
# 31 "/usr/include/bits/sigthread.h" 3 4
extern int pthread_sigmask (int __how,
                            const __sigset_t * __newmask,
                            __sigset_t * __oldmask);


extern int pthread_kill (pthread_t __threadid, int __signo) ;
# 366 "/usr/include/signal.h" 2 3 4






extern int __libc_current_sigrtmin (void) ;

extern int __libc_current_sigrtmax (void) ;




# 25 "../../share/include/ksignal.h" 2
# 81 "../../share/include/ksignal.h"
extern int kdoom (int pid, int sig);
extern int kpause (void);
extern int4 ksigblock (int4 mask);
extern int4 ksigretry (int flags);
extern int4 ksigsetmask (int4 mask);
extern int4 ksigsetretry (int flags);
extern void (*(ksignal (int sig, void (*sigfunc)()))) ();

extern int lam_kpause (void);
extern int4 lam_ksigblock (int4 mask);
extern int4 lam_ksigretry (int flags);
extern int4 lam_ksigsetmask (int4 mask);
extern int4 lam_ksigsetretry (int flags);
extern void (*(lam_ksignal (int sig, void (*sigfunc)()))) ();
# 25 "../../share/include/kio.h" 2
# 1 "../../share/include/ktrace.h" 1
# 47 "../../share/include/ktrace.h"
struct trhead {
        char *trh_buf;
        int4 trh_length;
};
# 62 "../../share/include/ktrace.h"
extern char *lam_trpoint (int4 size);
extern void lam_trexit (void);
extern void lam_trinit (void);
extern void lam_trunload (void);
# 26 "../../share/include/kio.h" 2

# 1 "../../share/include/rreq.h" 1
# 55 "../../share/include/rreq.h"
struct rreq {
        int4 rq_src_event;
        int4 rq_request;
        int4 rq_nodeid;
        int4 rq_nrents;
        int4 rq_event;
        int4 rq_pid;
        int4 rq_nodetype;
        int4 rq_typemask;
        int4 rq_ncpus;

};




struct rreply {
        int4 rr_reply;
        int4 rr_nodetype;
        int4 rr_ncpus;
        int4 rr_event;
        int4 rr_event2;
        int4 rr_link2;
        int4 rr_link;
        int4 rr_ntype;
};




struct route {
        int4 r_nodeid;
        int4 r_event;
        int4 r_link;
        int4 r_event2;
        int4 r_link2;
        int4 r_nodetype;
# 100 "../../share/include/rreq.h"
        int4 r_ncpus;

};





extern int getnodes (int4 *pnodes, int4 nnodes, int4 nodetype, int4 typemask);

extern int4 getntype (int4 nodetype, int4 typemask);
extern int getrent (struct route *rent);
extern int getrentc (struct route *rent);
extern int getroute (struct nmsg *nhead);
extern int4 getrtype (int4 node);
extern int getsmart (void);
extern int rrsetsmart (int4 node, int smartness);
extern int rremrent (int4 node, int4 destnode);
extern int rrsetrents (int4 node, struct route *prents, int4 nrents);
# 28 "../../share/include/kio.h" 2
# 60 "../../share/include/kio.h"
struct jobid_t {
        int4 jid_node;
        int4 jid_pid;
};




struct kio_t {
        int4 ki_priority;
        int4 ki_rtf;
        int4 ki_pid;
        int4 ki_signal;
        int4 ki_sigmask;
        int4 ki_sigretry;
        int4 ki_index;
        int4 ki_nodeid;
        int4 ki_origin;
        struct jobid_t ki_jobid;
        int4 ki_ionode;
        int4 ki_stdin;
        int4 ki_stdout;
        int4 ki_stderr;



        void ((*(ki_sig_handlers[10]))());
        void ((*(ki_sig_default[10]))());



        void ((*(ki_exit[32]))());
        char *ki_arg[32];



        struct route ki_route[29];



        struct trhead *ki_trhead;
        int4 ki_trcurr;
        int4 ki_tid;

        int4 ki_world;
        int4 ki_parent;



        int4 ki_fyi[9];
        double ki_blktime;
};
# 32 "../../share/include/mpisys.h" 2
# 66 "../../share/include/mpisys.h"
typedef void (MPI_F_copy_function)(int *, int *, int *,
                                        int *, int *, int *, int *);
typedef void (MPI_F_delete_function)(int *, int *, int *, int *, int *);

typedef void (void_fn)(void);
# 88 "../../share/include/mpisys.h"
struct _dtype {
        int dt_format;
# 103 "../../share/include/mpisys.h"
        int dt_flags;
# 113 "../../share/include/mpisys.h"
        int dt_commit;
        int dt_refcount;
        int dt_f77handle;
        int dt_label;
        int dt_align;
        int dt_upper;
        int dt_lower;
        int dt_size;
        int dt_dataup;
        int dt_datalow;
        int dt_nelem;
        int dt_count;
        int dt_length;
        MPI_Aint dt_stride;
        MPI_Datatype dt_dtype;
        int *dt_lengths;
        MPI_Aint *dt_disps;
        MPI_Datatype *dt_dtypes;
        HASH *dt_keys;
        int *dt_uargs;
        char dt_name[64];
        long dt_reserved[4];
};

struct _group {
        int g_nprocs;
        int g_myrank;
        int g_refcount;
        int g_f77handle;
        struct _proc **g_procs;
};

struct _comm {
        int c_flags;




        int c_contextid;
        int c_refcount;
        MPI_Group c_group;
        MPI_Group c_rgroup;
        HASH *c_keys;
        int c_cube_dim;
        int c_topo_type;
        int c_topo_nprocs;
        int c_topo_ndims;
        int c_topo_nedges;
        int *c_topo_dims;
        int *c_topo_coords;
        int *c_topo_index;
        int *c_topo_edges;
        int c_f77handle;
        MPI_Win c_window;
        MPI_Errhandler c_errhdl;
        char c_name[64];


        MPI_Comm c_shadow;
        long c_reserved[4];
};

struct _osdhdr {
        int os_func;
        int os_op;
        int os_count;
        int os_format;
        int os_type;
        int os_blklen;
        int os_stride;
        int os_pad;
        int8 os_disp;
};

struct _window {
        MPI_Comm w_comm;
        void *w_base;
        MPI_Aint w_size;
        int w_disp_unit;
        int w_flags;





        int w_ngroup;
        int w_ncomplete;
        int w_nfence;
        int *w_pstate;
        int w_f77handle;
        HASH *w_keys;
        MPI_Request w_req;
        struct _osdhdr w_header;
        MPI_Errhandler w_errhdl;
        long w_reserved[4];
};

struct _op {
        void (*op_func)();
        int op_commute;
        int op_f77handle;
        int op_flags;
};

struct _errhdl {
        void (*eh_func)();
        int eh_refcount;
        int eh_f77handle;
        int eh_flags;



};

struct _attrkey {
        void_fn *ak_copy;
        void_fn *ak_del;
        void *ak_extra;
        int ak_refcount;
        int ak_flags;



};

struct _attr {
        int a_key;
        void *a_value;
};





struct _bsndhdr {
        MPI_Request bsh_req;
        int bsh_size;
        struct _bsndhdr *bsh_prev;
        struct _bsndhdr *bsh_next;
};

struct _fyimsg {
        int4 fym_src;
        int4 fym_dest;
        int4 fym_count;
        int4 fym_dtpid;
};

struct _fyiproc {
        int4 fyp_me;
        int4 fyp_peer;
        int4 fyp_peergps;
        int4 fyp_root;
        int4 fyp_rootgps;
        int4 fyp_cidtag;
        int4 fyp_func;
        int4 fyp_count;
        int4 fyp_dtype;
};

struct _infoent {
        char *ie_value;
        char ie_key[36 + 1];
};

struct _info {
        LIST *info_list;
        int info_f77handle;
};

struct _port {
        char prt_name[16 + 1];
        int prt_num;
};




extern MPI_Comm lam_comm_parent;
extern struct _proc *lam_myproc;
extern LIST *lam_comms;
extern LIST *lam_ports;
extern float8 lam_clockskew;
extern int lam_f77init;
extern int lam_c2c;




extern int lam_ger;
extern int lam_homog;
extern struct jobid_t lam_jobid;
extern int lam_universe_size;
extern int lam_appnum;
extern int lam_rq_flblock;
extern int lam_rq_nreqs;
extern int lam_rq_nactv;
extern int lam_seqnum;
extern MPI_Request lam_rq_top;
extern MPI_Request lam_rq_bottom;
extern int lam_topfunc;
extern int lam_flinit;
extern int lam_flfinal;
extern MPI_Datatype lam_osdhdr_type;

extern struct kio_t _kio;
# 667 "../../share/include/mpisys.h"
extern void lam_band (void *, void *, int *, MPI_Datatype *);
extern void lam_bkerr (int, int *, int *, int *);
extern void lam_bor (void *, void *, int *, MPI_Datatype *);
extern int lam_bufattach (void *, int);
extern int lam_bufdetach (void *, int *);
extern int lam_buffreebsend_ (MPI_Request);
extern int lam_bufinit (MPI_Request);
extern int lam_bufinitbsend_ (MPI_Request);
extern void lam_bxor (void *, void *, int *, MPI_Datatype *);
extern int lam_chkarg (void *, int, MPI_Datatype, int, int, MPI_Comm);

extern int lam_clocksync (int, struct _gps *, float8 *);
extern int lam_coll2pt (int);
extern void lam_commfault (int);
extern int lam_comm_free (MPI_Comm);
extern int lam_comm_new (int, MPI_Group, MPI_Group, int, MPI_Comm *);

extern int lam_cubedim (int);
extern int lam_delkey (HASH *, int);
extern void lam_dtalign (MPI_Datatype);
extern void lam_dtblock (MPI_Datatype, MPI_Datatype, int, int);
extern int lam_dtbuffer (MPI_Datatype, int, char **, char **);
extern void lam_dtcpy (char *, char *, int, MPI_Datatype);
extern int lam_dtsndrcv (void *, int, MPI_Datatype, void *, int, MPI_Datatype, int, MPI_Comm);

extern void lam_emptystat (MPI_Status *);
extern int lam_err_comm (MPI_Comm, int, int, char *);
extern int lam_err_win (MPI_Win, int, int, char *);
extern int lam_errfunc (MPI_Comm, int, int);
extern void lam_comm_errfatal (MPI_Comm *, int *, ...);
extern void lam_win_errfatal (MPI_Win *, int *, ...);
extern void lam_errreturn (void *, int *, ...);
extern int lam_finalized (void);
extern int lam_freekey (int, int);
extern void lam_free_onesided (void);
extern struct _attrkey *lam_getattr (int);
extern int lam_getcid (void);
extern int lam_getfunc (void);
extern int lam_numfuncs (void);
extern struct _attr *lam_getkey (HASH *, int);
extern void lam_getparam (int *, int*);
extern int lam_getpublished (char *, char **);
extern int lam_hibit (int, int);



extern int lam_inited (void);
extern void lam_initerr (void);
extern int lam_initfault (void);
extern int lam_init_comm_world (struct _gps *mpi_procs, int mpi_nprocs);

extern int lam_init_onesided (void);
extern int lam_int_pos (void);
extern int lam_irecv (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);

extern int lam_isend (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *, int);

extern int lam_get_proc_array (struct _gps **, int *, int *, int *, int);

extern int lam_keyval_create (void_fn *, void_fn *, int *, void *, int);

extern void lam_land (void *, void *, int *, MPI_Datatype *);
extern int lam_linit (char *, int *, int *, int *, struct _gps **, int *);

extern void lam_lor (void *, void *, int *, MPI_Datatype *);
extern void lam_lxor (void *, void *, int *, MPI_Datatype *);
extern void lam_max (void *, void *, int *, MPI_Datatype *);
extern void lam_maxloc (void *, void *, int *, MPI_Datatype *);
extern void lam_min (void *, void *, int *, MPI_Datatype *);
extern void lam_minloc (void *, void *, int *, MPI_Datatype *);
extern void lam_replace (void *, void *, int *, MPI_Datatype *);
extern void lam_mkcoll (MPI_Comm);
extern int lam_mkerr (int, int);



extern int lam_mkkey (void);
extern void lam_mkpt (MPI_Comm);
extern void lam_mpi_reset_sighandlers (void);
extern int lam_mpi_set_sighandlers (void);
extern struct _proc *lam_nextproc (void);
extern int lam_nprocs (void);
extern void lam_nukecids (void);
extern void lam_nukefunc (void);
extern void lam_nukekeys (void);
extern void lam_nukeprocs (void);
extern void lam_nukepublished (void);
extern void lam_nuketrace (void);
extern int lam_osd_blkadv (MPI_Win);
extern int lam_osd_complete (MPI_Win, int);
extern int lam_osd_fillheader (int, int, MPI_Aint, int, MPI_Datatype, struct _osdhdr *);

extern int lam_osd_handler (MPI_Request);
extern int lam_osd_push (void);
extern int lam_osd_recv (void *, int, MPI_Datatype, int, int, MPI_Comm, int);

extern int lam_osd_send (void *, int, MPI_Datatype, int, int, MPI_Comm, int, int);

extern int lam_pack (char *, int, MPI_Datatype, char *, int);
extern int lam_ports_init (void);
extern void lam_ports_free (void);
extern int lam_port_close (int);
extern int lam_port_is_open (int);
extern int lam_port_open (void);
extern struct _proc *lam_procadd (struct _gps *);
extern int lam_proccmp (struct _proc *, struct _proc *);
extern struct _proc *lam_procfind (struct _gps *);
extern int lam_procfree (struct _proc *);
extern int lam_procrm (struct _proc *);
extern void lam_prod (void *, void *, int *, MPI_Datatype *);
extern int lam_pt2coll (int);





extern int lam_publish (char *, char *);
extern int lam_putkey (HASH **, int);
extern int lam_rank_in_group (MPI_Group, struct _proc *);
extern int lam_recv (void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status *);

extern void lam_resetfunc (int);
extern void lam_rmcid (int);
extern int lam_send (void *, int, MPI_Datatype, int, int, MPI_Comm, int);

extern void lam_setcid (int);
extern void lam_setfunc (int);
extern void lam_setparam (int, int, int);
extern int lam_get_mpi_world (int4 world_n, struct _gps *world, struct _gps *mpiworld, char *prefix);


extern void lam_sum (void *, void *, int *, MPI_Datatype *);
extern int lam_test (MPI_Request *, int, int *, MPI_Status *);
extern struct _proc *lam_topproc (void);
extern void lam_tr_cffend (int, int, MPI_Comm, MPI_Datatype, int);

extern void lam_tr_cffstart (int);
extern int lam_tr_comm (MPI_Comm);
extern int lam_tr_dtype (MPI_Datatype);
extern void lam_tr_dtypefree (MPI_Datatype);
extern int lam_tr_incff (void);
extern int lam_tr_init (char *, float8);
extern void lam_tr_msg (int, double, int, int, int, int, MPI_Comm, MPI_Datatype, int, int, int, int, int);

extern int lam_tr_off (void);
extern int lam_tr_on (void);
extern void lam_tr_startall (int, MPI_Request *, double, double, double);

extern void lam_tr_sub (int, double, int);
extern double lam_tr_timer (void);
extern void lam_tr_wrapend (int);
extern int lam_tr_wrapstart (int);
extern int lam_tr_buoy (const char *, double);
extern int lam_tr_coloron (int, int, int, double);
extern int lam_tr_coloroff (double);
extern int lam_tr_commname (char *, int, double);
extern int lam_type_free (MPI_Datatype);
extern void lam_type_setdefaults (MPI_Datatype);
extern int lam_unpack (char *, int, char *, int, MPI_Datatype);
extern int lam_unpublish (char *);
extern void lam_unsyncsql (int, int, int *, int *, int *, int *, int *, int *);

extern void lam_yield (void);

extern void _m2l_ack (struct nmsg *);
extern void _m2l_fill (struct _proc *, struct _proc *, int, int, struct nmsg *);

extern void _m2l_fillsys (int4, int4, int4, int4, int, int, struct nmsg *);

extern struct _proc *_m2l_getsource (struct nmsg *);
extern int _m2l_gettag (struct nmsg *);
extern void _m2l_tail (struct nmsg *);
extern void _mpi_req_add (MPI_Request);
extern int _mpi_req_advance (void);
extern void _mpi_req_blkclr (void);
extern void _mpi_req_blkset (MPI_Request);
extern int _mpi_req_build (void *, int, MPI_Datatype, int, int, MPI_Comm, int, MPI_Request *);

extern int _mpi_req_destroy (MPI_Request *);
extern int _mpi_req_end (MPI_Request);
extern void _mpi_req_get (int, MPI_Request *);
extern int _mpi_req_getn (void);
extern void _mpi_req_rem (MPI_Request);
extern int _mpi_req_start (MPI_Request);
extern int _rpi_c2c_addprocs (void);
extern int _rpi_c2c_advance (MPI_Request, int);
extern int _rpi_c2c_build (MPI_Request);
extern int _rpi_c2c_destroy (MPI_Request);
extern int _rpi_c2c_finalize (struct _proc *);
extern int _rpi_c2c_init (void);
extern int _rpi_c2c_iprobe (MPI_Request);
extern int _rpi_c2c_start (MPI_Request, MPI_Request);
extern int _rpi_lamd_addprocs (void);
extern int _rpi_lamd_advance (MPI_Request, int);
extern int _rpi_lamd_build (MPI_Request);
extern int _rpi_lamd_destroy (MPI_Request);
extern int _rpi_lamd_finalize (struct _proc *);
extern int _rpi_lamd_init (void);
extern int _rpi_lamd_iprobe (MPI_Request);
extern int _rpi_lamd_start (MPI_Request, MPI_Request);
extern int _rpi_c2c_fastsend (char *, int, MPI_Datatype, int, int, MPI_Comm);

extern int _rpi_c2c_fastrecv (char *, int, MPI_Datatype, int, int *, MPI_Comm, MPI_Status *, int *);

extern int _rpi_c2c_alloc_mem (MPI_Aint size, MPI_Info info, void *baseptr);

extern int _rpi_c2c_free_mem (void *base);
# 889 "../../share/include/mpisys.h"
extern int lam_F_maxhdl;
extern int lam_F_nhdl;
extern int lam_F_sizehdlarray;
extern void **lam_F_handles;
extern char *lam_F_bottom;
extern void *lam_F_argvnull;
extern void *lam_F_argvsnull;
extern void *lam_F_errorcodes_ignore;
extern void *lam_F_status_ignore;
extern void *lam_F_statuses_ignore;
# 907 "../../share/include/mpisys.h"
extern char *lam_F2C_string (char *, int);
extern int lam_F2C_argv (char *, int, char ***);
extern void lam_F2C_stat (int *, MPI_Status *);
extern void lam_C2F_stat (MPI_Status *, int *);
extern void lam_C2F_string (char *, char *, int);
extern int lam_F_alloc_hdl (void);
extern int lam_F_find_hdl (void *);
extern int lam_F_make_hdl (int *, int *, void *, int);
extern void lam_F_free_hdl (int);
# 34 "bcast.c" 2
# 1 "../../share/include/mpitrace.h" 1
# 91 "../../share/include/mpitrace.h"
struct trsrc {
        int4 trs_node;
        int4 trs_pid;
        int4 trs_listno;





        int4 trs_pad;
};

struct trcid {
        int4 trc_cid;
        int4 trc_nlg;
        int4 trc_nrg;
        int4 trc_pad;
};

struct trdtype {
        int4 trd_param0;



        int4 trd_param1;


};

struct trrthdr {
        float8 trr_time;
        int4 trr_type;
# 134 "../../share/include/mpitrace.h"
        int4 trr_pad;
};

struct tronoff {
        int4 tro_trnum;
        int4 tro_pad;
};

struct trinit {
        float8 tri_skew;
        char tri_name[32];
};

struct trmsg {
        int4 trm_topfunc;
        int4 trm_wrapfunc;
        int4 trm_syst;
        int4 trm_blkt;
        int4 trm_peer;
        int4 trm_tag;
        int4 trm_cid;
        int4 trm_dtype;
        int4 trm_count;
        int4 trm_mrank;
        int4 trm_mtag;
        int4 trm_seqnum;
};

struct trxchg {
        int4 trx_topfunc;
        int4 trx_sub;
};

struct trbuoy {
  char trb_name[32];
};

struct trcolor {
  int4 trcol_red;
  int4 trcol_green;
  int4 trcol_blue;
  int4 trcol_pad;
};

struct trcommname {
  char trcomm_name[128];
  int4 trcomm_cid;
};





extern void format_proc (int, int, int, int, int, char *);
extern void format_cid (int, char *);
extern void format_tag (int, char*);
extern void format_dtype (int, char *, int);
extern void mpitr_dataprint (char *, char *, int, int, int);
extern void print_dtype (int, int, int, char *);
extern void print_comm (int, int, int, int);
extern int mpitr_dtypeget (int4, int4, int4, char **);
# 35 "bcast.c" 2
# 1 "../../share/include/rpisys.h" 1
# 26 "../../share/include/rpisys.h"
# 1 "../../share/include/rpi_c2c.h" 1
# 33 "../../share/include/rpi_c2c.h"
struct c2c_envl {
        int4 ce_len;
        int4 ce_tag;
        int4 ce_flags;





        int4 ce_rank;
        int4 ce_cid;
        int4 ce_seq;
};

typedef struct c2c_envl *envp_t;






struct c2c_req {
        int cq_state;




        int4 cq_peer;
        struct c2c_envl cq_env;
        struct c2c_envl cq_outenv;
        int cq_nenvout;
        int cq_nmsgout;
        char *cq_envbuf;
        char *cq_msgbuf;
        int cq_bufoff;
        int cq_bufsize;
        int (*cq_adv)();
};




struct cbuf_cid {
        int4 cb_cid;
        MPI_Comm cb_comm;
        LIST *cb_envs;
};




struct cbuf_msg {
        struct c2c_proc *cm_proc;
        struct c2c_envl cm_env;
        char *cm_buf;
        MPI_Request cm_req;
};
# 138 "../../share/include/rpi_c2c.h"
extern int _c2c_comm_dead (MPI_Request);
extern int _c2c_envl_cmp (struct c2c_envl *, struct c2c_envl *);
extern void _c2c_fill_mpi_status (MPI_Request, int, int, int);
extern void _c2c_fill_wildcards (MPI_Request, struct c2c_envl *);

extern int _cbuf_init (void);
extern void _cbuf_delete (struct cbuf_msg *);
extern void _cbuf_end (void);
extern void *_cbuf_append (struct cbuf_msg *);
extern struct cbuf_msg
                *_cbuf_find (struct c2c_envl *);

extern int _tcp_advmultiple (void);
extern int _tcp_adv1 (void);
extern int _tcp_proc_read_env (struct c2c_proc *);
extern int _tcp_req_write_long (struct c2c_proc *, MPI_Request);
extern int _tcp_req_write_short (struct c2c_proc *, MPI_Request);
extern int _tcp_req_write_synch (struct c2c_proc *, MPI_Request);
extern int _tcp_req_read (struct c2c_proc *, MPI_Request);
extern int _tcp_req_probe (struct c2c_proc *, MPI_Request);
extern int _tcp_buffered_adv (MPI_Request, struct cbuf_msg *);

extern int _shm_advance (void);
extern int _shm_proc_read_env (struct c2c_proc *);
extern int _shm_req_send_long (struct c2c_proc *, MPI_Request);
extern int _shm_req_send_short (struct c2c_proc *, MPI_Request);
extern int _shm_req_send_synch (struct c2c_proc *, MPI_Request);
extern int _shmtcp_req_probe (struct c2c_proc *, MPI_Request);
extern int _shmtcp_req_read (struct c2c_proc *, MPI_Request);
extern int _shm_buffered_adv (MPI_Request, struct cbuf_msg *);

extern int _tcp_fastsend (char *, int, struct c2c_proc *, int, int, MPI_Comm);

extern int _tcp_fastrecv (char *, int *, struct c2c_proc *, int, int *, MPI_Comm, int *);


extern int _shm_fastsend (char *, int, struct c2c_proc *, int, int, MPI_Comm);

extern int _shm_fastrecv (char *, int *, struct c2c_proc *, int, int *, MPI_Comm, int *);
# 27 "../../share/include/rpisys.h" 2
# 1 "../../share/include/rpi_lamd.h" 1
# 28 "../../share/include/rpi_lamd.h"
struct lamd_req {
        struct nmsg lmq_msg_data;
        struct nmsg lmq_msg_ack;
        struct nmsg lmq_msg_ger;
        int lmq_state;
        int lmq_flags;
        int lmq_ndata;
        int lmq_ndata_moved;
};
# 67 "../../share/include/rpi_lamd.h"
int _rpi_lamd_init(void);
int _rpi_lamd_addprocs(void);
int _rpi_lamd_build(MPI_Request req);
int _rpi_lamd_start(MPI_Request req_top,
                                        MPI_Request req);
int _rpi_lamd_destroy(MPI_Request req);
int _rpi_lamd_advance(MPI_Request req_top,
                                          int flag_block);
int _rpi_lamd_iprobe(MPI_Request req);
int _rpi_lamd_finalize(struct _proc *p);
# 28 "../../share/include/rpisys.h" 2





# 1 "../../share/include/rpi_shm.h" 1
# 22 "../../share/include/rpi_shm.h"
# 1 "/usr/include/errno.h" 1 3 4
# 23 "../../share/include/rpi_shm.h" 2

# 1 "/usr/include/sys/ipc.h" 1 3 4
# 29 "/usr/include/sys/ipc.h" 3 4
# 1 "/usr/include/bits/ipctypes.h" 1 3 4
# 31 "/usr/include/bits/ipctypes.h" 3 4
typedef unsigned short int __ipc_pid_t;
# 30 "/usr/include/sys/ipc.h" 2 3 4
# 1 "/usr/include/bits/ipc.h" 1 3 4
# 24 "/usr/include/bits/ipc.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 25 "/usr/include/bits/ipc.h" 2 3 4
# 44 "/usr/include/bits/ipc.h" 3 4
struct ipc_perm
  {
    __key_t __key;
    __uid_t uid;
    __gid_t gid;
    __uid_t cuid;
    __gid_t cgid;

    unsigned short int __pad1;
    unsigned short int mode;
    unsigned short int __pad2;




    unsigned short int __seq;
    unsigned int __pad3;
    unsigned long long int __unused1;
    unsigned long long int __unused2;
  };
# 31 "/usr/include/sys/ipc.h" 2 3 4
# 52 "/usr/include/sys/ipc.h" 3 4



extern key_t ftok (const char *__pathname, int __proj_id) ;


# 25 "../../share/include/rpi_shm.h" 2
# 1 "/usr/include/sys/shm.h" 1 3 4
# 25 "/usr/include/sys/shm.h" 3 4
# 1 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/stddef.h" 1 3 4
# 26 "/usr/include/sys/shm.h" 2 3 4





# 1 "/usr/include/bits/shm.h" 1 3 4
# 24 "/usr/include/bits/shm.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 25 "/usr/include/bits/shm.h" 2 3 4
# 43 "/usr/include/bits/shm.h" 3 4
typedef unsigned long int shmatt_t;


struct shmid_ds
  {
    struct ipc_perm shm_perm;

    unsigned int __pad1;

    __time_t shm_atime;

    unsigned int __pad2;

    __time_t shm_dtime;

    unsigned int __pad3;

    __time_t shm_ctime;

    unsigned int __pad4;

    size_t shm_segsz;
    __pid_t shm_cpid;
    __pid_t shm_lpid;
    shmatt_t shm_nattch;
    unsigned long int __unused1;
    unsigned long int __unused2;
  };
# 83 "/usr/include/bits/shm.h" 3 4
struct shminfo
  {
    unsigned long shmmax;
    unsigned long shmmin;
    unsigned long shmmni;
    unsigned long shmseg;
    unsigned long shmall;
    unsigned long __unused1;
    unsigned long __unused2;
    unsigned long __unused3;
    unsigned long __unused4;
  };

struct shm_info
  {
    int used_ids;
    unsigned long int shm_tot;
    unsigned long int shm_rss;
    unsigned long int shm_swp;
    unsigned long int swap_attempts;
    unsigned long int swap_successes;
  };
# 32 "/usr/include/sys/shm.h" 2 3 4



# 1 "/usr/include/time.h" 1 3 4
# 36 "/usr/include/sys/shm.h" 2 3 4
# 45 "/usr/include/sys/shm.h" 3 4






extern int shmctl (int __shmid, int __cmd, struct shmid_ds *__buf) ;


extern int shmget (key_t __key, size_t __size, int __shmflg) ;


extern void *shmat (int __shmid, const void *__shmaddr, int __shmflg)
     ;


extern int shmdt (const void *__shmaddr) ;


# 26 "../../share/include/rpi_shm.h" 2
# 1 "/usr/include/sys/sem.h" 1 3 4
# 25 "/usr/include/sys/sem.h" 3 4
# 1 "/usr/lib/gcc-lib/hppa-linux/3.3.2/include/stddef.h" 1 3 4
# 26 "/usr/include/sys/sem.h" 2 3 4





# 1 "/usr/include/bits/sem.h" 1 3 4
# 24 "/usr/include/bits/sem.h" 3 4
# 1 "/usr/include/bits/wordsize.h" 1 3 4
# 25 "/usr/include/bits/sem.h" 2 3 4
# 40 "/usr/include/bits/sem.h" 3 4
struct semid_ds
{
  struct ipc_perm sem_perm;

  unsigned int __pad1;

  __time_t sem_otime;

  unsigned int __pad2;

  __time_t sem_ctime;
  unsigned long int sem_nsems;
  unsigned long int __unused1;
  unsigned long int __unused2;
};
# 78 "/usr/include/bits/sem.h" 3 4
struct seminfo
{
  int semmap;
  int semmni;
  int semmns;
  int semmnu;
  int semmsl;
  int semopm;
  int semume;
  int semusz;
  int semvmx;
  int semaem;
};
# 32 "/usr/include/sys/sem.h" 2 3 4





struct sembuf
{
  unsigned short int sem_num;
  short int sem_op;
  short int sem_flg;
};





extern int semctl (int __semid, int __semnum, int __cmd, ...) ;


extern int semget (key_t __key, int __nsems, int __semflg) ;


extern int semop (int __semid, struct sembuf *__sops, size_t __nsops) ;


# 27 "../../share/include/rpi_shm.h" 2
# 49 "../../share/include/rpi_shm.h"
extern char *_shm_membase;




extern int _shm_poll_yield;






struct boxhdr {
        struct c2c_envl bh_env;
        int bh_size;
        int bh_bufoff;
};

union postbox {
        struct boxhdr pb_header;
        char pb_pad[64];
};

typedef union postbox postbox_t;




struct c2c_proc {
        struct c2c_envl cp_env;
        int cp_write;
        int cp_read;
        int cp_sock;
        char *cp_envbuf;
        int cp_nenvin;
        char *cp_msgbuf;
        int cp_nmsgin;
        int cp_extra;
        int cp_shm;
        int cp_sem;
        int cp_ppsem;
        int cp_locked;
        int cp_shmidx;
        int cp_insize;
        postbox_t *cp_inbox;
        postbox_t *cp_outbox;
        struct sembuf *cp_lop;
        struct sembuf *cp_top;
        struct sembuf *cp_uop;
        MPI_Request cp_wreq;
        MPI_Request cp_rreq;
        MPI_Request cp_mreq;
        int (*cp_readfn)();
        struct cbuf_msg *cp_bmsg;
        int cp_nbfde;
};
# 135 "../../share/include/rpi_shm.h"
extern int _shm_readlock (struct c2c_proc *);
extern int _shm_writelock (struct c2c_proc *);
# 207 "../../share/include/rpi_shm.h"
int _shm_create_area(int, struct c2c_proc *, struct nmsg *);
int _shm_attach_area(int, struct c2c_proc *, struct nmsg *);
int _shm_advance(void);
int _shm_req_rcvd_ack_long(struct c2c_proc *, MPI_Request);
int _shm_req_send_ack_long(struct c2c_proc *, MPI_Request);
int _shm_req_send_ack_only(struct c2c_proc *, MPI_Request);
int _shm_req_send_body_first(struct c2c_proc *, MPI_Request);
int _shm_req_done_synch(struct c2c_proc *, MPI_Request);
int _shm_proc_read_body_box(struct c2c_proc *);
int _shm_proc_read_body_pool(struct c2c_proc *);




int _shm_buffer(struct c2c_proc *);
int _shm_match_adv(struct c2c_proc *);
int _shm_proc_read_env(struct c2c_proc *);
int _shm_req_send_long(struct c2c_proc *, MPI_Request);
int _shm_req_send_short(struct c2c_proc *, MPI_Request);
int _shm_req_send_synch(struct c2c_proc *, MPI_Request);
int _shm_req_rcvd_body_synch(struct c2c_proc *, MPI_Request);
int _shmtcp_req_probe(struct c2c_proc *, MPI_Request);
int _shmtcp_req_recv(struct c2c_proc *, MPI_Request);
int _shm_push_env(struct c2c_proc *, MPI_Request);
int _shm_push_body_pool(struct c2c_proc *, MPI_Request);
int _shm_push_body_box(struct c2c_proc *, MPI_Request);
int _shm_req_rcvd_long_ack(struct c2c_proc *, MPI_Request);
int _shm_buffered_adv(MPI_Request, struct cbuf_msg *);
int _shm_fastsend(char *, int, struct c2c_proc *, int, int, MPI_Comm);
int _shm_fastrecv(char *, int *, struct c2c_proc *, int, int *,
                           MPI_Comm, int *);

int lam_shmalloc(unsigned int *, int *);
void lam_shfree(void *);




int _c2c_envl_cmp(struct c2c_envl *pe,
                                      struct c2c_envl *pq);
int _c2c_comm_dead(MPI_Request);
void _c2c_fill_mpi_status(MPI_Request req,
                                             int rank,
                                             int tag,
                                             int length);
void _c2c_fill_wildcards(MPI_Request,
                                            struct c2c_envl*);
# 281 "../../share/include/rpi_shm.h"
extern char *_shm_membase;
extern struct c2c_proc **_shm_read;
extern struct c2c_proc **_shm_write;
extern int _shm_nread;
extern int _shm_nwrite;
extern int _shm_nprocs;
extern int _shm_narray;
extern int _shm_poll_yield;
extern int _shm_poolsize;
extern int _shm_maxalloc;





extern int _c2c_flblock;
extern int _c2c_haveadv;
# 34 "../../share/include/rpisys.h" 2
# 50 "../../share/include/rpisys.h"
union rpi_proc {
        struct c2c_proc c2c;
};

struct _proc {
        struct _gps p_gps;
        int p_ger_nsnd;
        int p_mode;





        int p_refcount;
        union rpi_proc p_rpi;
};

union rpi_req {
        struct lamd_req lamd;
        struct c2c_req c2c;
};

struct _req {
        int rq_type;







        int rq_state;




        int rq_marks;
# 96 "../../share/include/rpisys.h"
        int rq_flags;
# 109 "../../share/include/rpisys.h"
        char *rq_packbuf;
        int rq_packsize;
        int rq_count;
        void *rq_buf;
        MPI_Datatype rq_dtype;
        int rq_rank;
        int rq_tag;
        MPI_Comm rq_comm;
        int rq_cid;
        int rq_func;
        int rq_seq;
        int rq_f77handle;
        MPI_Status rq_status;
        struct _bsndhdr *rq_bsend;
        struct _proc *rq_proc;
        struct _req *rq_next;
        void *rq_extra;
        int (*rq_hdlr)();
        MPI_Request rq_shadow;
        union rpi_req rq_rpi;
};
# 36 "bcast.c" 2







static int bcast_lin();
static int bcast_log();
static int bcast_lin_lamd();
static int bcast_log_lamd();
# 83 "bcast.c"
int MPI_Bcast(void *buff, int count, MPI_Datatype datatype,
              int root, MPI_Comm comm)
{
    int size;
    struct _gps *p;

    lam_initerr();
    lam_setfunc(((int4) 15));



    if ((comm == ((MPI_Comm) 0)) || ((comm)->c_flags & 0x10)) {
        return(lam_errfunc(comm, ((int4) 15), lam_mkerr(5, 0)));
    }

    if (datatype == ((MPI_Datatype) 0)) {
        return(lam_errfunc(comm, ((int4) 15), lam_mkerr(3, 0)));
    }

    if (count < 0) {
        return(lam_errfunc(comm, ((int4) 15), lam_mkerr(2, 0)));
    }

    MPI_Comm_size(comm, &size);

    if ((root >= size) || (root < 0)) {
        return(lam_errfunc(comm, ((int4) 15), lam_mkerr(8, 0)));
    }

    if ((_kio.ki_rtf & 0x000300) == 0x000300) lam_tr_cffstart(((int4) 15));



    p = &(comm->c_group->g_procs[root]->p_gps);

    lam_setparam(((int4) 15),
            root | (p->gps_grank << 16), (p->gps_node << 16) | p->gps_idx);



    if (count == 0) {
        if ((_kio.ki_rtf & 0x000300) == 0x000300) lam_tr_cffend(((int4) 15), root, comm, datatype, count);
        lam_resetfunc(((int4) 15));
        return(0);
    }



    if (size <= 1) {
        lam_resetfunc(((int4) 15));
        return(0);
    }





    else if (size <= 4) {
        return(((lam_c2c) ? bcast_lin (buff, count, datatype, root, comm) : bcast_lin_lamd (buff, count, datatype, root, comm)));

    }
    else {
        return(((lam_c2c) ? bcast_log (buff, count, datatype, root, comm) : bcast_log_lamd (buff, count, datatype, root, comm)));

    }
}
# 157 "bcast.c"
static int
bcast_lin(buff, count, datatype, root, comm)

void *buff;
int count;
MPI_Datatype datatype;
int root;
MPI_Comm comm;

{
    int i;
    int size;
    int rank;
    int err;
    MPI_Request *preq;
    MPI_Request reqs[4];

    MPI_Comm_size(comm, &size);
    MPI_Comm_rank(comm, &rank);

    lam_mkcoll(comm);



    if (rank != root) {
        err = MPI_Recv(buff, count, datatype, root,
                        ((int4) 15), comm, ((MPI_Status *) 0));
        lam_mkpt(comm);

        if (err != 0) {
            return(lam_errfunc(comm, ((int4) 15), err));
        }

        if ((_kio.ki_rtf & 0x000300) == 0x000300) lam_tr_cffend(((int4) 15), root, comm, datatype, count);
        lam_resetfunc(((int4) 15));
        return(0);
    }



    for (i = 0, preq = reqs; i < size; ++i) {

        if (i == rank) continue;

        err = MPI_Send_init(buff, count, datatype, i, ((int4) 15),
                                comm, preq++);

        if (err != 0) {
            lam_mkpt(comm);
            return(lam_errfunc(comm, ((int4) 15), err));
        }
    }



    err = MPI_Startall(size - 1, reqs);
    if (err != 0) {
        lam_mkpt(comm);
        return(lam_errfunc(comm, ((int4) 15), err));
    }

    err = MPI_Waitall(size - 1, reqs, ((MPI_Status *) 0));
    lam_mkpt(comm);

    if (err != 0) {
        return(lam_errfunc(comm, ((int4) 15), err));
    }



    for (i = 0, preq = reqs; i < size; ++i) {

        if (i == rank) continue;

        err = MPI_Request_free(preq);
        if (err != 0) {
            return(lam_errfunc(comm, ((int4) 15), err));
        }

        ++preq;
    }

    if ((_kio.ki_rtf & 0x000300) == 0x000300) lam_tr_cffend(((int4) 15), root, comm, datatype, count);
    lam_resetfunc(((int4) 15));
    return(0);
}
# 251 "bcast.c"
static int
bcast_log(buff, count, datatype, root, comm)

void *buff;
int count;
MPI_Datatype datatype;
int root;
MPI_Comm comm;

{
    int i;
    int size;
    int rank;
    int vrank;
    int peer;
    int dim;
    int hibit;
    int mask;
    int err;
    int nreqs;
    MPI_Request *preq;
    MPI_Request reqs[16];

    MPI_Comm_rank(comm, &rank);
    MPI_Comm_size(comm, &size);

    lam_mkcoll(comm);

    vrank = (rank + size - root) % size;

    dim = comm->c_cube_dim;
    hibit = lam_hibit(vrank, dim);
    --dim;



    if (vrank > 0) {
        peer = ((vrank & ~(1 << hibit)) + root) % size;

        err = MPI_Recv(buff, count, datatype, peer,
                        ((int4) 15), comm, ((MPI_Status *) 0));
        if (err != 0) {
            lam_mkpt(comm);
            return(lam_errfunc(comm, ((int4) 15), err));
        }
    }



    preq = reqs;
    nreqs = 0;

    for (i = hibit + 1, mask = 1 << i; i <= dim; ++i, mask <<= 1) {

        peer = vrank | mask;
        if (peer < size) {
            peer = (peer + root) % size;
            ++nreqs;

            err = MPI_Send_init(buff, count, datatype, peer, ((int4) 15),
                                comm, preq++);
            if (err != 0) {
                lam_mkpt(comm);
                return(lam_errfunc(comm, ((int4) 15), err));
            }
        }
    }



    if (nreqs > 0) {
        err = MPI_Startall(nreqs, reqs);
        if (err != 0) {
            lam_mkpt(comm);
            return(lam_errfunc(comm, ((int4) 15), err));
        }

        err = MPI_Waitall(nreqs, reqs, ((MPI_Status *) 0));
        if (err != 0) {
            lam_mkpt(comm);
            return(lam_errfunc(comm, ((int4) 15), err));
        }

        for (i = 0, preq = reqs; i < nreqs; ++i, ++preq) {

            err = MPI_Request_free(preq);
            if (err != 0) {
                lam_mkpt(comm);
                return(lam_errfunc(comm, ((int4) 15), err));
            }
        }
    }

    lam_mkpt(comm);
    if ((_kio.ki_rtf & 0x000300) == 0x000300) lam_tr_cffend(((int4) 15), root, comm, datatype, count);
    lam_resetfunc(((int4) 15));
    return(0);
}
# 357 "bcast.c"
static int
bcast_lin_lamd(buff, count, datatype, root, comm)

void *buff;
int count;
MPI_Datatype datatype;
int root;
MPI_Comm comm;

{
    int i;
    int size;
    int rank;
    int longproto;
    int err;
    int nreqs;
    int nacks;
    int done;
    int idx[16];
    MPI_Request reqs[16];
    MPI_Status stats[16];

    MPI_Comm_size(comm, &size);
    MPI_Comm_rank(comm, &rank);

    longproto = (datatype->dt_size * count) > 8192;
    lam_mkcoll(comm);



    if (rank != root) {
        if (longproto) {
            err = MPI_Recv(buff, 0, ((MPI_Datatype) &lam_mpi_byte), root,
                            ((int4) 15), comm, ((MPI_Status *) 0));
            if (err != 0) {
                lam_mkpt(comm);
                return(lam_errfunc(comm, ((int4) 15), err));
            }

            err = MPI_Send(buff, 0, ((MPI_Datatype) &lam_mpi_byte), root, ((int4) 15), comm);
            if (err != 0) {
                lam_mkpt(comm);
                return(lam_errfunc(comm, ((int4) 15), err));
            }
        }

        err = MPI_Recv(buff, count, datatype, root,
                        ((int4) 15), comm, ((MPI_Status *) 0));

        lam_mkpt(comm);
        if (err != 0) {
            return(lam_errfunc(comm, ((int4) 15), err));
        }

        if ((_kio.ki_rtf & 0x000300) == 0x000300) lam_tr_cffend(((int4) 15), root, comm, datatype, count);
        lam_resetfunc(((int4) 15));
        return(0);
    }



    if (longproto) {
        nreqs = 0;
        for (i = 0; i < size; ++i) {
            if (i == rank) continue;

            err = MPI_Send(buff, 0, ((MPI_Datatype) &lam_mpi_byte), i, ((int4) 15), comm);
            if (err != 0) {
                lam_mkpt(comm);
                return(lam_errfunc(comm, ((int4) 15), err));
            }

            err = MPI_Irecv(buff, 0, ((MPI_Datatype) &lam_mpi_byte),
                                i, ((int4) 15), comm, &reqs[nreqs++]);
            if (err != 0) {
                lam_mkpt(comm);
                return(lam_errfunc(comm, ((int4) 15), err));
            }
        }



        nacks = 0;
        while (nacks < nreqs) {
            err = MPI_Waitsome(nreqs, reqs, &done, idx, stats);

            if (err != 0) {
                lam_mkpt(comm);
                return(lam_errfunc(comm, ((int4) 15), err));
            }

            if (done == -32766) {
                lam_mkpt(comm);
                return(lam_errfunc(comm, ((int4) 15),
                                lam_mkerr(14, 0)));
            }

            nacks += done;

            for (i = 0; i < done; i++) {

                err = MPI_Send(buff, count, datatype,
                                stats[i].MPI_SOURCE, ((int4) 15), comm);

                if (err != 0) {
                    lam_mkpt(comm);
                    return(lam_errfunc(comm, ((int4) 15), err));
                }
            }
        }
    }



    else {
        for (i = 0; i < size; i++) {
            if (i == root) continue;

            err = MPI_Send(buff, count, datatype, i, ((int4) 15), comm);
            if (err != 0) {
                lam_mkpt(comm);
                return(lam_errfunc(comm, ((int4) 15), err));
            }
        }
    }

    lam_mkpt(comm);
    if ((_kio.ki_rtf & 0x000300) == 0x000300) lam_tr_cffend(((int4) 15), root, comm, datatype, count);
    lam_resetfunc(((int4) 15));
    return(0);
}
# 496 "bcast.c"
static int
bcast_log_lamd(buff, count, datatype, root, comm)

void *buff;
int count;
MPI_Datatype datatype;
int root;
MPI_Comm comm;

{
    int i;
    int size;
    int rank;
    int vrank;
    int peer;
    int dim;
    int hibit;
    int mask;
    int longproto;
    int err;
    int nreqs;
    int nacks;
    int done;
    int idx[16];
    MPI_Request reqs[16];
    MPI_Status stats[16];

    MPI_Comm_rank(comm, &rank);
    MPI_Comm_size(comm, &size);

    lam_mkcoll(comm);
    longproto = (datatype->dt_size * count) > 8192;

    vrank = (rank + size - root) % size;

    dim = comm->c_cube_dim;
    hibit = lam_hibit(vrank, dim);
    --dim;



    if (vrank > 0) {
        peer = ((vrank & ~(1 << hibit)) + root) % size;

        if (longproto) {
            err = MPI_Recv(buff, 0, ((MPI_Datatype) &lam_mpi_byte), peer,
                            ((int4) 15), comm, ((MPI_Status *) 0));
            if (err != 0) {
                lam_mkpt(comm);
                return(lam_errfunc(comm, ((int4) 15), err));
            }

            err = MPI_Send(buff, 0, ((MPI_Datatype) &lam_mpi_byte), peer, ((int4) 15), comm);
            if (err != 0) {
                lam_mkpt(comm);
                return(lam_errfunc(comm, ((int4) 15), err));
            }
        }

        err = MPI_Recv(buff, count, datatype, peer,
                        ((int4) 15), comm, ((MPI_Status *) 0));
        if (err != 0) {
            lam_mkpt(comm);
            return(lam_errfunc(comm, ((int4) 15), err));
        }
    }



    nreqs = 0;

    for (i = hibit + 1, mask = 1 << i; i <= dim; ++i, mask <<= 1) {

        peer = vrank | mask;
        if (peer < size) {
            peer = (peer + root) % size;

            if (longproto) {
                err = MPI_Send(buff, 0, ((MPI_Datatype) &lam_mpi_byte), peer, ((int4) 15), comm);
                if (err != 0) {
                    lam_mkpt(comm);
                    return(lam_errfunc(comm, ((int4) 15), err));
                }

                err = MPI_Irecv(buff, 0, ((MPI_Datatype) &lam_mpi_byte),
                                peer, ((int4) 15), comm, &reqs[nreqs++]);

            } else {
                err = MPI_Send(buff, count, datatype, peer, ((int4) 15), comm);
            }
            if (err != 0) {
                lam_mkpt(comm);
                return(lam_errfunc(comm, ((int4) 15), err));
            }
        }
    }

    if (longproto) {



        nacks = 0;

        while (nacks < nreqs) {

            err = MPI_Waitsome(nreqs, reqs, &done, idx, stats);

            if (err != 0) {
                lam_mkpt(comm);
                return(lam_errfunc(comm, ((int4) 15), err));
            }

            if (done == -32766) {
                lam_mkpt(comm);
                return(lam_errfunc(comm, ((int4) 15),
                                lam_mkerr(14, 0)));
            }

            nacks += done;

            for (i = 0; i < done; i++) {

                err = MPI_Send(buff, count, datatype,
                                stats[i].MPI_SOURCE, ((int4) 15), comm);

                if (err != 0) {
                    lam_mkpt(comm);
                    return(lam_errfunc(comm, ((int4) 15), err));
                }
            }
        }
    }

    lam_mkpt(comm);
    if ((_kio.ki_rtf & 0x000300) == 0x000300) lam_tr_cffend(((int4) 15), root, comm, datatype, count);
    lam_resetfunc(((int4) 15));
    return(0);
}
=============================================================================

-- 
Camm Maguire			     			camm@enhanced.com
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah



Bug reassigned from package `lam' to `gcc-3.3'. Request was from Camm Maguire <camm@enhanced.com> to control@bugs.debian.org. Full text and rfc822 format available.

Noted your statement that Bug has been forwarded to http://gcc.gnu.org/PR12158. Request was from Matthias Klose <doko@net.local> to control@bugs.debian.org. Full text and rfc822 format available.

Changed Bug title. Request was from Matthias Klose <doko@net.local> to control@bugs.debian.org. Full text and rfc822 format available.

Tags added: upstream Request was from Matthias Klose <doko@net.local> to control@bugs.debian.org. Full text and rfc822 format available.

Severity set to `important'. Request was from Matthias Klose <doko@net.local> to control@bugs.debian.org. Full text and rfc822 format available.

Information stored:
Bug#207516; Package gcc-3.3. Full text and rfc822 format available.

Acknowledgement sent to doko@debian.org:
Extra info received and filed, but not forwarded. Full text and rfc822 format available.

Message #85 received at 207516-quiet@bugs.debian.org (full text, mbox):

From: Matthias Klose <doko@net.local>
To: control@bugs.debian.org
Cc: 207516-quiet@bugs.debian.org
Subject: gcc: submitted Debian report #207516 to gcc-gnats as PR 12158
Date: Wed, 03 Sep 2003 22:19:18 +0200
# submitted Debian report #207516 to gcc-gnats as PR 12158
# http://gcc.gnu.org/PR12158

forwarded 207516 http://gcc.gnu.org/PR12158
retitle 207516 [PR 12158] [3.3 regression] [hppa] compilation does not terminate
tags 207516 + upstream
severity 207516 important
thanks



Changed Bug submitter from lamont+buildd@hp.com to LaMont Jones <lamont@debian.org>. Request was from LaMont Jones <lamont@debian.org> to control@bugs.debian.org. Full text and rfc822 format available.

Reply sent to Matthias Klose <doko@debian.org>:
You have taken responsibility. Full text and rfc822 format available.

Notification sent to LaMont Jones <lamont@debian.org>:
Bug acknowledged by developer. Full text and rfc822 format available.

Message #92 received at 207516-close@bugs.debian.org (full text, mbox):

From: Matthias Klose <doko@debian.org>
To: 207516-close@bugs.debian.org
Subject: Bug#207516: fixed in gcc-3.3 1:3.3.3ds2-0pre2
Date: Sat, 10 Jan 2004 11:33:16 -0500
Source: gcc-3.3
Source-Version: 1:3.3.3ds2-0pre2

We believe that the bug you reported is fixed in the latest version of
gcc-3.3, which is due to be installed in the Debian FTP archive:

cpp-3.3-doc_3.3.3-0pre2_all.deb
  to pool/main/g/gcc-3.3/cpp-3.3-doc_3.3.3-0pre2_all.deb
cpp-3.3_3.3.3-0pre2_i386.deb
  to pool/main/g/gcc-3.3/cpp-3.3_3.3.3-0pre2_i386.deb
fastjar_3.3.3-0pre2_i386.deb
  to pool/main/g/gcc-3.3/fastjar_3.3.3-0pre2_i386.deb
fixincludes_3.3.3-0pre2_i386.deb
  to pool/main/g/gcc-3.3/fixincludes_3.3.3-0pre2_i386.deb
g++-3.3_3.3.3-0pre2_i386.deb
  to pool/main/g/gcc-3.3/g++-3.3_3.3.3-0pre2_i386.deb
g77-3.3-doc_3.3.3-0pre2_all.deb
  to pool/main/g/gcc-3.3/g77-3.3-doc_3.3.3-0pre2_all.deb
g77-3.3_3.3.3-0pre2_i386.deb
  to pool/main/g/gcc-3.3/g77-3.3_3.3.3-0pre2_i386.deb
gcc-3.3-base_3.3.3-0pre2_i386.deb
  to pool/main/g/gcc-3.3/gcc-3.3-base_3.3.3-0pre2_i386.deb
gcc-3.3-doc_3.3.3-0pre2_all.deb
  to pool/main/g/gcc-3.3/gcc-3.3-doc_3.3.3-0pre2_all.deb
gcc-3.3_3.3.3-0pre2_i386.deb
  to pool/main/g/gcc-3.3/gcc-3.3_3.3.3-0pre2_i386.deb
gcc-3.3_3.3.3ds2-0pre2.diff.gz
  to pool/main/g/gcc-3.3/gcc-3.3_3.3.3ds2-0pre2.diff.gz
gcc-3.3_3.3.3ds2-0pre2.dsc
  to pool/main/g/gcc-3.3/gcc-3.3_3.3.3ds2-0pre2.dsc
gcc-3.3_3.3.3ds2.orig.tar.gz
  to pool/main/g/gcc-3.3/gcc-3.3_3.3.3ds2.orig.tar.gz
gcj-3.3_3.3.3-0pre2_i386.deb
  to pool/main/g/gcc-3.3/gcj-3.3_3.3.3-0pre2_i386.deb
gij-3.3_3.3.3-0pre2_i386.deb
  to pool/main/g/gcc-3.3/gij-3.3_3.3.3-0pre2_i386.deb
gnat-3.3-doc_3.3.3-0pre2_all.deb
  to pool/main/g/gcc-3.3/gnat-3.3-doc_3.3.3-0pre2_all.deb
gnat-3.3_3.3.3-0pre2_i386.deb
  to pool/main/g/gcc-3.3/gnat-3.3_3.3.3-0pre2_i386.deb
gobjc-3.3_3.3.3-0pre2_i386.deb
  to pool/main/g/gcc-3.3/gobjc-3.3_3.3.3-0pre2_i386.deb
gpc-2.1-3.3-doc_3.3.3.20030830-0pre2_all.deb
  to pool/main/g/gcc-3.3/gpc-2.1-3.3-doc_3.3.3.20030830-0pre2_all.deb
gpc-2.1-3.3_3.3.3.20030830-0pre2_i386.deb
  to pool/main/g/gcc-3.3/gpc-2.1-3.3_3.3.3.20030830-0pre2_i386.deb
libffi2-dev_3.3.3-0pre2_i386.deb
  to pool/main/g/gcc-3.3/libffi2-dev_3.3.3-0pre2_i386.deb
libffi2_3.3.3-0pre2_i386.deb
  to pool/main/g/gcc-3.3/libffi2_3.3.3-0pre2_i386.deb
libg2c0_3.3.3-0pre2_i386.deb
  to pool/main/g/gcc-3.3/libg2c0_3.3.3-0pre2_i386.deb
libgcc1_3.3.3-0pre2_i386.deb
  to pool/main/g/gcc-3.3/libgcc1_3.3.3-0pre2_i386.deb
libgcj-common_3.3.3-0pre2_all.deb
  to pool/main/g/gcc-3.3/libgcj-common_3.3.3-0pre2_all.deb
libgcj4-dev_3.3.3-0pre2_i386.deb
  to pool/main/g/gcc-3.3/libgcj4-dev_3.3.3-0pre2_i386.deb
libgcj4_3.3.3-0pre2_i386.deb
  to pool/main/g/gcc-3.3/libgcj4_3.3.3-0pre2_i386.deb
libobjc1_3.3.3-0pre2_i386.deb
  to pool/main/g/gcc-3.3/libobjc1_3.3.3-0pre2_i386.deb
libstdc++5-3.3-dbg_3.3.3-0pre2_i386.deb
  to pool/main/g/gcc-3.3/libstdc++5-3.3-dbg_3.3.3-0pre2_i386.deb
libstdc++5-3.3-dev_3.3.3-0pre2_i386.deb
  to pool/main/g/gcc-3.3/libstdc++5-3.3-dev_3.3.3-0pre2_i386.deb
libstdc++5-3.3-doc_3.3.3-0pre2_all.deb
  to pool/main/g/gcc-3.3/libstdc++5-3.3-doc_3.3.3-0pre2_all.deb
libstdc++5-3.3-pic_3.3.3-0pre2_i386.deb
  to pool/main/g/gcc-3.3/libstdc++5-3.3-pic_3.3.3-0pre2_i386.deb
libstdc++5_3.3.3-0pre2_i386.deb
  to pool/main/g/gcc-3.3/libstdc++5_3.3.3-0pre2_i386.deb
protoize_3.3.3-0pre2_i386.deb
  to pool/main/g/gcc-3.3/protoize_3.3.3-0pre2_i386.deb
treelang-3.3_3.3.3-0pre2_i386.deb
  to pool/main/g/gcc-3.3/treelang-3.3_3.3.3-0pre2_i386.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 207516@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Matthias Klose <doko@debian.org> (supplier of updated gcc-3.3 package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Sat, 10 Jan 2004 12:33:59 +0100
Source: gcc-3.3
Binary: libgnat3.15 gcc-3.3-nof gcc-3.3 libobjc1 libgcc1 lib64g2c0 libstdc++5-3.3-doc libgcj4 gpc-2.1-3.3-doc libstdc++5 cpp-3.3-doc protoize gcc-3.3-hppa64 cpp-3.3 libstdc++5-3.3-dbg g77-3.3-doc gpc-2.1-3.3 g77-3.3 libgcj4-dev gcc-3.3-doc lib64objc1 lib64ffi2 libstdc++5-3.3-dev libffi2-dev gcj-3.3 libgcj-common gobjc-3.3 lib64stdc++5 gcc-3.3-soft-float lib64gcj4 treelang-3.3 libg2c0-dev lib64gcc1 fastjar lib64gnat3.15 fixincludes libg2c0 gij-3.3 libstdc++5-3.3-pic gcc-3.3-base g++-3.3 gnat-3.3 libffi2 gnat-3.3-doc
Architecture: source i386 all
Version: 1:3.3.3ds2-0pre2
Distribution: unstable
Urgency: medium
Maintainer: Debian GCC maintainers <debian-gcc@lists.debian.org>
Changed-By: Matthias Klose <doko@debian.org>
Description: 
 cpp-3.3    - The GNU C preprocessor
 cpp-3.3-doc - Documentation for the GNU C preprocessor (cpp)
 fastjar    - Jar creation utility
 fixincludes - Fix non-ANSI header files
 g++-3.3    - The GNU C++ compiler
 g77-3.3    - The GNU Fortran 77 compiler
 g77-3.3-doc - Documentation for the GNU Fortran compiler (g77)
 gcc-3.3    - The GNU C compiler
 gcc-3.3-base - The GNU Compiler Collection (base package)
 gcc-3.3-doc - Documentation for the GNU compilers (gcc, gobjc, g++)
 gcj-3.3    - The GNU compiler for Java(TM)
 gij-3.3    - The GNU Java bytecode interpreter
 gnat-3.3   - The GNU Ada compiler
 gnat-3.3-doc - Documentation for the GNU Ada compiler (gnat)
 gobjc-3.3  - The GNU Objective-C compiler
 gpc-2.1-3.3 - The GNU Pascal compiler
 gpc-2.1-3.3-doc - Documentation for the GNU Pascal compiler (gpc)
 libffi2    - Foreign Function Interface library runtime
 libffi2-dev - Foreign Function Interface library (development files)
 libg2c0    - Runtime library for GNU Fortran 77 applications
 libgcc1    - GCC support library
 libgcj-common - Java runtime library (common files)
 libgcj4    - Java runtime library for use with gcj
 libgcj4-dev - Java development headers and static library for use with gcj
 libobjc1   - Runtime library for GNU Objective-C applications
 libstdc++5 - The GNU Standard C++ Library v3
 libstdc++5-3.3-dbg - The GNU Standard C++ Library v3 (debugging files)
 libstdc++5-3.3-dev - The GNU Standard C++ Library v3 (development files)
 libstdc++5-3.3-doc - The GNU Standard C++ Library v3 (documentation files)
 libstdc++5-3.3-pic - The GNU Standard C++ Library v3 (shared library subset kit)
 protoize   - Create/remove ANSI prototypes from C code
 treelang-3.3 - The GNU Treelang compiler
Closes: 207516 224576 225663 226273
Changes: 
 gcc-3.3 (1:3.3.3ds2-0pre2) unstable; urgency=medium
 .
   * Update to gcc-3.3.3 CVS 20040110.
     - Fixes compilation not terminating at -O1 on hppa (closes: #207516).
   * Add backport to fix PR12441 (closes: #224576).
   * Revert backport to 3.3 branch to fix PR12862, which introduced another
     regression (PR13544). Closes: #225663.
   * Tighten dependency of gnat-3.3 on gcc-3.3 (closes: #226273).
   * Disable treelang build for cross compiler build.
   * Disable pascal on alpha and ia64 architectures (currently broken).
Files: 
 af58112c69cd68a091d795fbe178c281 2300 devel standard gcc-3.3_3.3.3ds2-0pre2.dsc
 56628c99fd363e1a06ed79633390f544 23944999 devel standard gcc-3.3_3.3.3ds2.orig.tar.gz
 1464e534229b6408510a231054048336 2263907 devel standard gcc-3.3_3.3.3ds2-0pre2.diff.gz
 ea32e97c5186d6b54585d18ff4ba90ad 82924 doc optional cpp-3.3-doc_3.3.3-0pre2_all.deb
 6cb918184cd0a870989140d5bbf16612 57846 libs optional libgcj-common_3.3.3-0pre2_all.deb
 df2c6fdb6307c2a775708c8f553e19eb 3149046 doc optional libstdc++5-3.3-doc_3.3.3-0pre2_all.deb
 9d67dcc4477a606bf906c25d0589b400 268986 doc optional g77-3.3-doc_3.3.3-0pre2_all.deb
 82433d08b1af3cd4027ce3a6966cd777 328498 doc optional gnat-3.3-doc_3.3.3-0pre2_all.deb
 2a33be9d233f92aa4fe41e5435ce7e1d 795182 doc optional gpc-2.1-3.3-doc_3.3.3.20030830-0pre2_all.deb
 83169273890c66906389c79078fde1a1 598092 doc optional gcc-3.3-doc_3.3.3-0pre2_all.deb
 d688012e788a63a9410cb7b9b887d3c5 143802 devel required gcc-3.3-base_3.3.3-0pre2_i386.deb
 5d528160db37669f1a716057e9e6eba9 73038 libs required libgcc1_3.3.3-0pre2_i386.deb
 66c19fa2a728b0932b1bbd704ffc2497 1389218 interpreters standard cpp-3.3_3.3.3-0pre2_i386.deb
 dae1d5edd162e537b7bf0de7f2c672d9 23246 devel optional protoize_3.3.3-0pre2_i386.deb
 79b048f6251ae14bddd6f39b1f7476a2 48128 devel optional fixincludes_3.3.3-0pre2_i386.deb
 b7db1e536f8a484cbe87dca81b27ac8a 1465410 devel optional gobjc-3.3_3.3.3-0pre2_i386.deb
 02f987655591a2a6fd8f6e90e2014da9 132562 libs optional libobjc1_3.3.3-0pre2_i386.deb
 35ab09fff11e8931cf1a963a0a947042 13048 devel optional gij-3.3_3.3.3-0pre2_i386.deb
 8e1d7012fc91985005ceb26b0f2bb878 3979164 libs optional libgcj4_3.3.3-0pre2_i386.deb
 cb2d17b4c4e3ffa8b4d726c545a3687e 1692386 devel optional gcj-3.3_3.3.3-0pre2_i386.deb
 38c6dc18782a7fa376fbf26f90455ec6 4749120 libdevel optional libgcj4-dev_3.3.3-0pre2_i386.deb
 d7377b4168afe36c1d8b1b6f713dbdf2 108976 devel extra fastjar_3.3.3-0pre2_i386.deb
 78d62e703841e6aab4426666f555f543 68402 libs optional libffi2_3.3.3-0pre2_i386.deb
 7c0c30dc177def71462306cf03ddab7a 11034 libdevel optional libffi2-dev_3.3.3-0pre2_i386.deb
 f6eda02b537c96801636f6686bb25090 1769924 devel standard g++-3.3_3.3.3-0pre2_i386.deb
 2f5dfe771dcac95eeb85cbfbb2535b83 285272 base required libstdc++5_3.3.3-0pre2_i386.deb
 a5d1b68575c291086b9cfa17dc551228 769556 libdevel standard libstdc++5-3.3-dev_3.3.3-0pre2_i386.deb
 b4dc60abf8ecfa9fb52aef1636afef68 322540 libdevel extra libstdc++5-3.3-pic_3.3.3-0pre2_i386.deb
 1a1ce4c59accd7e2de80f0cb62679542 5052332 libdevel extra libstdc++5-3.3-dbg_3.3.3-0pre2_i386.deb
 a99fdf091593474f78afe02fe8be478a 50266 libs optional libg2c0_3.3.3-0pre2_i386.deb
 aeefd7ee5731ef1d0224b06d45fd8430 1612980 devel optional g77-3.3_3.3.3-0pre2_i386.deb
 9cf903f1515fc9f6354361acff54cbf5 6272856 devel optional gnat-3.3_3.3.3-0pre2_i386.deb
 5a9e89fac76f8a9530a7aa86908714f6 1287104 devel optional treelang-3.3_3.3.3-0pre2_i386.deb
 7f69dd0c4d60f122d79e14327e5f59da 1928908 devel optional gpc-2.1-3.3_3.3.3.20030830-0pre2_i386.deb
 c47994d4af0b6e1ff53fa1ade1de875a 1331902 devel standard gcc-3.3_3.3.3-0pre2_i386.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFAAA+GStlRaw+TLJwRAtQSAJ4lkMQ4SJf4XV5rXQi5K9GB/MZP8QCgsxK7
Ap/PJzBrJqxM8c9Xe3LP3QI=
=Jv0l
-----END PGP SIGNATURE-----




Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Fri Apr 18 06:49:46 2014; Machine Name: buxtehude.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.