Article View: gnu.gcc.bug
Article #5994Bug in gcc-2.7.2.1, NeXTStep 3.2
From: Alois Steindl
Date: Mon, 23 Dec 1996 00:00
Date: Mon, 23 Dec 1996 00:00
2910 lines
55787 bytes
55787 bytes
Hello,
With gcc-2.7.0 and gcc-2.7.2.1 I get the following error message, when
compiling the program with the -O flag.
gcc -O -c -v colsys.i
Reading specs from /usr/local/lib/gcc-lib/m68k-next-nextstep3/2.7.2.1/specs
gcc version 2.7.2.1
/usr/local/lib/gcc-lib/m68k-next-nextstep3/2.7.2.1/cc1 colsys.i -quiet -O -version -o /usr/tmp/cc000217.s
GNU C version 2.7.2.1 (68k, MIT syntax) compiled by GNU C version 2.7.2.1.
colsys.f90: In function `colsys_':
colsys.f90:1194: internal error--insn does not satisfy its constraints:
(insn 1770 1769 3609 (set (reg/v:SI 0 d0)
(reg/v:SI 10 a2)) 361 {indirect_jump+1} (nil)
(nil))
gcc: Internal compiler error: program cc1 got fatal signal 6
This error does not occur on AIX or Linux (with gcc-2.7.0), nor on
NeXT with the bundled compiler version.
The error also doesn't occur when compiling without the -O flag.
I didn't give any arguments to configure when installing gcc.
Best regards
Alois
PS.: The C-file is generated by NAG's f90-compiler from a file
colsys.f90. I played a little bit with the sources, but couldn't find
any different behaviour. Funilly the Fortran program is quite simple: It
serves just as interface to the user: It checks arguments, breaks up
the workspace and calls the driver routines. Since the main work is
done inside the interior routines, I can live with compiling the main
routine without optimization.
Happy New Year!
Alois
--
___________________________________________________________________________
Alois Steindl, Tel.: +43 (1) 58801 / 5529
Inst. for Mechanics II, Fax.: +43 (1) 5875863
Vienna University of Technology,
A-1040 Wiedner Hauptstr. 8-10 Email: Alois.Steindl+Mechanik@tuwien.ac.at
___________________________________________________________________________
# 1 "colsys.c"
# 1 "colsys.f90"
# 1 "/usr/local/lib/f90/f90.h" 1
typedef char* Pointer;
# 1 "/usr/local/lib/gcc-lib/m68k-next-nextstep3/2.7.2.1/include/ansi/math.h" 1 3
# 1 "/NextDeveloper/Headers/ansi/standards.h" 1 3
# 8 "/usr/local/lib/gcc-lib/m68k-next-nextstep3/2.7.2.1/include/ansi/math.h" 2 3
# 1 "/NextDeveloper/Headers/ansi/errno.h" 1 3
# 1 "/NextDeveloper/Headers/bsd/sys/errno.h" 1 3
# 1 "/usr/local/lib/gcc-lib/m68k-next-nextstep3/2.7.2.1/include/stddef.h" 1 3
# 59 "/usr/local/lib/gcc-lib/m68k-next-nextstep3/2.7.2.1/include/stddef.h" 3
typedef long int ptrdiff_t;
typedef long unsigned int size_t;
typedef short unsigned int wchar_t;
# 288 "/usr/local/lib/gcc-lib/m68k-next-nextstep3/2.7.2.1/include/stddef.h" 3
# 201 "/NextDeveloper/Headers/bsd/sys/errno.h" 2 3
extern void perror(const char *);
extern char *sys_errlist[];
extern int sys_nerr;
# 7 "/NextDeveloper/Headers/ansi/errno.h" 2 3
extern int errno;
# 13 "/usr/local/lib/gcc-lib/m68k-next-nextstep3/2.7.2.1/include/ansi/math.h" 2 3
extern double __const__ asinh(double x);
extern double __const__ acosh(double x);
extern double __const__ atanh(double x);
extern double __const__ hypot(double x, double y);
extern double cabs();
extern double __const__ cbrt(double x);
extern double __const__ expm1(double x);
extern double __const__ log1p(double x);
extern double __const__ lgamma(double x);
extern double rint(double x);
extern double __const__ erf(double x);
extern double __const__ erfc(double x);
extern double __const__ j0(double x);
extern double __const__ j1(double x);
extern double __const__ jn(int n, double x);
extern double __const__ y0(double x);
extern double __const__ y1(double x);
extern double __const__ yn(int n, double x);
extern double copysign(double x, double y);
extern double drem(double x, double y);
extern int finite(double x);
extern double logb(double x);
extern double scalb(double x, int n);
extern double acos(double x);
extern double asin(double x);
extern double __const__ atan(double x);
extern double __const__ atan2(double y, double x);
extern double cos(double x);
extern double sin(double x);
extern double __const__ tan(double x);
extern double __const__ cosh(double x);
extern double __const__ sinh(double x);
extern double __const__ tanh(double x);
extern double __const__ exp(double x);
extern double frexp(double value, int *exp);
extern double __const__ ldexp(double x, int exp);
extern double __const__ log(double x);
extern double __const__ log10(double x);
extern double modf(double value, double *iptr);
extern double __const__ pow(double x, double y);
extern double __const__ sqrt(double x);
extern double __const__ ceil(double x);
extern double __const__ fabs(double x);
extern double __const__ floor(double x);
extern double __const__ fmod(double x, double y);
# 1 "/NextDeveloper/Headers/ansi/machine/math.h" 1 3
# 1 "/usr/local/lib/gcc-lib/m68k-next-nextstep3/2.7.2.1/include/architecture/ARCH_INCLUDE.h" 1 3
# 9 "/NextDeveloper/Headers/ansi/machine/math.h" 2 3
# 1 "/NextDeveloper/Headers/ansi/m68k/math.h" 1 3
# 109 "/NextDeveloper/Headers/ansi/m68k/math.h" 3
# 11 "/NextDeveloper/Headers/ansi/machine/math.h" 2 3
# 81 "/usr/local/lib/gcc-lib/m68k-next-nextstep3/2.7.2.1/include/ansi/math.h" 2 3
# 42 "/usr/local/lib/f90/f90.h" 2
extern int iostat;
typedef char Logical1;
typedef long Logical;
typedef char Integer1;
typedef short Integer2;
typedef long Integer;
typedef Integer Integer3;
typedef float Real;
typedef double Double;
typedef struct {
float re,im;
} Complex;
typedef struct {
double re,im;
} DComplex;
typedef union {
Integer i;
Real r;
Double d;
Complex c;
Logical l;
} Multiple;
# 86 "/usr/local/lib/f90/f90.h"
extern Complex rdivc (Real x,Complex y) ;
Complex cdivc();
DComplex dcdivdc(),dpdivdc(),cdivdc(),dpdivc(),dcdivc();
Integer ipowi();
extern Real fpowi (Real x,Integer y) ;
Double dpowi();
Complex cpowi();
DComplex dcpowi();
Complex cpowc();
DComplex dcpowdc();
extern Real ipowr (Integer x,Real y) ;
extern Real rpowr (Real x,Real y) ;
Double ipowd();
typedef struct {
Integer1 *addr;
Integer3 extent[7];
} ArrayTemp_Integer1;
typedef struct {
Integer2 *addr;
Integer3 extent[7];
} ArrayTemp_Integer2;
typedef struct {
Integer *addr;
Integer3 extent[7];
} ArrayTemp_Integer;
typedef struct {
Real *addr;
Integer3 extent[7];
} ArrayTemp_Real;
typedef struct {
Double *addr;
Integer3 extent[7];
} ArrayTemp_Double;
typedef struct {
Complex *addr;
Integer3 extent[7];
} ArrayTemp_Complex;
typedef struct {
DComplex *addr;
Integer3 extent[7];
} ArrayTemp_DComplex;
typedef struct {
Logical1 *addr;
Integer3 extent[7];
} ArrayTemp_Logical1;
typedef struct {
Logical *addr;
Integer3 extent[7];
} ArrayTemp_Logical;
typedef struct {
char *addr;
int len;
Integer3 extent[7];
} ArrayTemp_Character;
typedef ArrayTemp_Character ArrayTemp_Derived;
# 163 "/usr/local/lib/f90/f90.h"
ArrayTemp_Integer1 mkatmp_i1(),vdescribe_i1();
ArrayTemp_Integer2 mkatmp_i2(),vdescribe_i2();
ArrayTemp_Integer mkatmp_i(),vdescribe_i();
ArrayTemp_Real mkatmp_r(),vdescribe_r();
ArrayTemp_Double mkatmp_d(),vdescribe_d();
ArrayTemp_Complex mkatmp_c(),vdescribe_c();
ArrayTemp_DComplex mkatmp_dc(),vdescribe_dc();
ArrayTemp_Logical1 mkatmp_l1(),vdescribe_l1();
ArrayTemp_Logical mkatmp_l(),vdescribe_l();
ArrayTemp_Character mkatmp_ch(),vdescribe_ch();
extern void freevec_i (ArrayTemp_Integer) ;
extern void freevec_i1 (ArrayTemp_Integer1) ;
extern void freevec_i2 (ArrayTemp_Integer2) ;
extern void freevec_r (ArrayTemp_Real) ;
extern void freevec_d (ArrayTemp_Double) ;
extern void freevec_c (ArrayTemp_Complex) ;
extern void freevec_dc (ArrayTemp_DComplex) ;
extern void freevec_l (ArrayTemp_Logical) ;
extern void freevec_l1 (ArrayTemp_Logical1) ;
extern void freevec_ch (ArrayTemp_Character) ;
# 1 "/usr/local/lib/f90/dope.h" 1
typedef struct {
Integer3 extent,mult,lower;
} Triplet;
typedef struct {
Pointer addr;
int offset;
Triplet dim[1];
} Dope1;
typedef struct {
Pointer addr;
int offset;
Triplet dim[2];
} Dope2;
typedef struct {
Pointer addr;
int offset;
Triplet dim[3];
} Dope3;
typedef struct {
Pointer addr;
int offset;
Triplet dim[4];
} Dope4;
typedef struct {
Pointer addr;
int offset;
Triplet dim[5];
} Dope5;
typedef struct {
Pointer addr;
int offset;
Triplet dim[6];
} Dope6;
typedef struct {
Pointer addr;
int offset;
Triplet dim[7];
} Dope7;
typedef struct {
Pointer addr;
int len,offset;
Triplet dim[1];
} ChDope1;
typedef struct {
Pointer addr;
int len,offset;
Triplet dim[2];
} ChDope2;
typedef struct {
Pointer addr;
int len,offset;
Triplet dim[3];
} ChDope3;
typedef struct {
Pointer addr;
int len,offset;
Triplet dim[4];
} ChDope4;
typedef struct {
Pointer addr;
int len,offset;
Triplet dim[5];
} ChDope5;
typedef struct {
Pointer addr;
int len,offset;
Triplet dim[6];
} ChDope6;
typedef struct {
Pointer addr;
int len,offset;
Triplet dim[7];
} ChDope7;
# 186 "/usr/local/lib/f90/f90.h" 2
typedef struct {
int rank,offset;
Triplet dim[7];
} BoundsInfo;
typedef struct {
char *addr;
int len;
} Substring;
extern void chasgn (char *to,int,char *from,int) ;
extern Substring chfront (char *s,int len,int to) ;
extern Substring chend (char *s,int len,int from) ;
extern Substring chsub (char *s,int len,int from,int to) ;
extern Substring chcat (char *a,int alen,char *b,int blen) ;
extern ArrayTemp_Character chcat_as (int rank,ChDope7*,char*,int) ;
extern ArrayTemp_Character chcat_sa (int rank,char*,int,ChDope7*) ;
extern ArrayTemp_Character chcat_aa (int rank,ChDope7*,ChDope7*) ;
extern int charcmp (char *a,char *b,int alen,int blen) ;
extern void chfree (Substring *ssp) ;
extern Substring cat_a2s (int,ChDope7*) ;
extern void vec_ch_asgn_array_ch (ArrayTemp_Character,int,
ChDope7*) ;
extern void array_ch_asgn_array_ch (int,ChDope7*,int,ChDope7*) ;
extern void vec_ch_asgn_scalar_ch (ArrayTemp_Character,char*,
int) ;
extern void array_ch_asgn_scalar_ch (int,ChDope7*,char*,
int) ;
extern ChDope7 chasub(),chafront(),chaend();
typedef struct {
int ncomponents;
struct type_component_description *component;
} Typedesc;
typedef struct type_component_description {
char *name;
int offset;
Integer *dims;
int cdtype;
int chrlen;
Typedesc *dtdesc;
} Compdesc;
typedef struct {
char *name;
Pointer addr;
Integer *dims;
int cdtype;
int chrlen;
Typedesc *dtdesc;
} Vardesc;
typedef struct {
char *name;
Vardesc **var;
int nvars;
} Namelist;
extern int f90_iwrite(),f90_write(),f90_open(),f90_close(),f90_endfile();
extern int f90_backspace(),f90_rewind(),f90_dwrite();
extern int f90_dwriteu(),f90_read(),f90_dread();
extern int f90_dreadu(),f90_endwrite(),f90_endiwrite();
extern int f90_enddwrite(),f90_enddwriteu(),f90_endread();
extern int f90_enddread(),f90_enddreadu(),f90_inquire_u();
extern int f90_inquire_f(),f90_writen();
extern int write_d (Double number) ;
extern int write_r (Real number) ;
extern int write_i (Integer number) ;
extern int write_i1 (Integer1 number) ;
extern int write_i2 (Integer2 number) ;
extern int write_c (Complex number) ;
extern int write_dc (DComplex number) ;
extern int write_l (Logical test) ;
extern int write_l1 (Logical1 test) ;
extern int write_ch (char *addr,int len) ;
extern int read_d (Double*) ;
extern int read_r (Real*) ;
extern int read_i (Integer*) ;
extern int read_i1 (Integer1*) ;
extern int read_i2 (Integer2*) ;
extern int read_c (Complex*) ;
extern int read_dc (DComplex*) ;
extern int read_ch (char*,int) ;
extern int read_l (Logical*) ;
extern int read_l1 (Logical1*) ;
extern int f90_iwrites (char*,int,char*,int,int) ;
extern int f90_iwritea (int rank,ChDope7*,char*,int,int) ;
extern int f90_endiwrite (void) ;
extern int f90_ireads (char*,int,char*,int,Integer*,int) ;
extern int f90_ireada (int rank,ChDope7*,char*,int,Integer*,int) ;
extern int f90_endiread (void) ;
extern int lwrite_i (Integer i) ;
extern int lwrite_i1 (Integer1 i1) ;
extern int lwrite_i2 (Integer2 i2) ;
extern int lwrite_l (Logical l) ;
extern int lwrite_l1 (Logical1 l1) ;
extern int lwrite_r (Real r) ;
extern int lwrite_d (Double d) ;
extern int lwrite_c (Complex c) ;
extern int lwrite_dc (DComplex dc) ;
extern int lwrite_ch (char *ch,int len) ;
extern int lread_i (Integer *i) ;
extern int lread_i1 (Integer1 *i1) ;
extern int lread_i2 (Integer2 *i2) ;
extern int lread_d (Double *d) ;
extern int lread_r (Real *r) ;
extern int lread_c (Complex *c) ;
extern int lread_dc (DComplex *dc) ;
extern int lread_l (Logical *l) ;
extern int lread_l1 (Logical1 *l1) ;
extern int lread_ch (char *addr,int len) ;
extern int f90_writeu (int unit,int error_cont) ;
extern int writeu (Pointer,int) ;
extern int writeua (int rank,Dope7 *dv,int eltsize) ;
extern int writeucha (int rank,ChDope7 *dv,int eltsize) ;
extern int f90_endwriteu (void) ;
extern int f90_readu (int unit,int error_cont) ;
extern int readu (Pointer,int) ;
extern int readua (int rank,Dope7 *dv,int eltsize) ;
extern int readucha (int rank,ChDope7 *dv,int eltsize) ;
extern int f90_endreadu (void) ;
extern int f90_readn (int,Namelist*,int) ;
extern void badsub1(),badsub2(),badsub3(),badptr0(),badptr1();
extern void badss2 (int to,int len) ;
extern void crash();
extern Pointer Alloc();
extern void DeAlloc();
void Allocate_a();
void Allocate_ca();
BoundsInfo make_info();
extern void Deallocate_a (int,Integer,Dope7*,Integer*) ;
extern Pointer Allocate_s (Integer,Integer*) ;
extern void Deallocate_s (Pointer,Integer,Integer*) ;
extern Pointer Allocate_i (BoundsInfo,Integer,Integer*) ;
extern Pointer check_Allocate_i (BoundsInfo,Integer) ;
extern void Deallocate_i (Pointer,BoundsInfo,Integer,Integer*) ;
extern Pointer check_Alloc (Integer) ;
extern Pointer ReAlloc_90();
extern void assume_shape(),assume_cshape();
extern void check_shapes (Triplet[],Triplet[],int) ;
extern Integer vector_size (Integer3[7]) ;
extern Integer1 abs_i1();
extern Integer2 abs_i2();
extern Integer abs_i();
extern Real abs_r (Real *r) ;
extern Real abs_c (Complex *c) ;
extern Double abs_d(),abs_dc();
extern ArrayTemp_Integer1 abs_i1a();
extern ArrayTemp_Integer2 abs_i2a();
extern ArrayTemp_Integer abs_ia();
extern void achar_i(),achar_i1(),achar_i2();
extern ArrayTemp_Character achar_ia(),achar_i1a(),achar_i2a();
extern Real acos_r (Real *x) ;
extern Double acos_d();
extern Substring adjustl_ch(),adjustr_ch();
extern ArrayTemp_Character adjustl_cha (int,ChDope7*,int) ;
extern ArrayTemp_Character adjustr_cha (int,ChDope7*,int) ;
extern Real aimag_r();
extern Real aint_r (Real *r) ;
extern Double aint_d();
extern Real anint_r();
extern Double anint_d();
extern Real asin_r();
extern Double asin_d();
extern Logical assoc_ss();
extern Logical assoc_aa (int,Dope7*,int,Dope7*) ;
extern Logical assoc_ch_ss(),assoc_ch_aa();
extern Real atan_r();
extern Double atan_d();
extern Real atan2_r();
extern Double atan2_d();
extern Integer ceiling_r(),ceiling_d();
extern ArrayTemp_Integer ceiling_ra(),ceiling_da();
extern Complex conjg_r();
extern Real cos_r();
extern Double cos_d();
extern Complex cos_c();
extern DComplex cos_dc();
extern Real cosh_r();
extern Double cosh_d();
extern ArrayTemp_Integer dimcount_l (int,Dope7*,Integer) ;
extern ArrayTemp_Integer dimcount_l1 (int,Dope7*,Integer) ;
extern void cshift_a (int,Dope7*,int,Integer,Pointer,int) ;
extern void cshift_ca (int,ChDope7*,int,Integer,Pointer,int) ;
extern void cshift_aa (int,Dope7*,int,Dope7*,Integer,Pointer,int,
int) ;
extern void cshift_caa (int,ChDope7*,int,Dope7*,Integer,Pointer,int,
int) ;
extern Integer dim_i();
extern Real dim_r();
extern Double dim_d();
extern Double dprod();
extern ArrayTemp_Double dproda (int,Dope7*,int,Dope7*) ;
extern void eoshift_aa (int,Dope7*,int,Integer,int,Dope7*,Pointer,
int) ;
extern void eoshift_as (int,Dope7*,int,Integer,Pointer,Pointer,int) ;
extern void eoshift_caa (int,ChDope7*,int,Integer,int,ChDope7*,Pointer,
int) ;
extern void eoshift_cas (int,ChDope7*,int,Integer,Pointer,int,Pointer,
int) ;
extern void eoshift_aaa (int,Dope7*,int,Dope7*,Integer,int,Dope7*,
Pointer,int,int) ;
extern void eoshift_aas (int,Dope7*,int,Dope7*,Integer,Pointer,Pointer,
int,int) ;
extern void eoshift_caaa (int,ChDope7*,int,Dope7*,Integer,int,ChDope7*,
Pointer,int,int) ;
extern void eoshift_caas (int,ChDope7*,int,Dope7*,Integer,char*,int,
Pointer,int,int) ;
extern Real exp_r();
extern Double exp_d();
extern Complex exp_c();
extern DComplex exp_dc();
extern ArrayTemp_Real exp_ra();
extern ArrayTemp_Double exp_da();
extern ArrayTemp_Complex exp_ca();
extern ArrayTemp_DComplex exp_dca();
extern Integer exponent_r(),exponent_d();
extern ArrayTemp_Integer exponent_ra (int,Dope7*) ;
extern ArrayTemp_Integer exponent_da (int,Dope7*) ;
extern Integer floor_r(),floor_d();
extern Integer charindex(),charindex3();
extern Integer ichar(),iachar();
extern Integer ishftc();
extern Integer len();
extern Integer mod_i();
extern Real mod_r();
extern Double mod_d();
extern ArrayTemp_Real mod_ra (int,Dope7*,int,Dope7*) ;
extern ArrayTemp_Double mod_da (int,Dope7*,int,Dope7*) ;
extern Integer1 modulo_i1();
extern Integer2 modulo_i2();
extern Integer modulo_i();
extern Real modulo_r();
extern Double modulo_d();
extern ArrayTemp_Integer1 modulo_i1a (int,Dope7*,int,Dope7*) ;
extern ArrayTemp_Integer2 modulo_i2a (int,Dope7*,int,Dope7*) ;
extern ArrayTemp_Integer modulo_ia (int,Dope7*,int,Dope7*) ;
extern ArrayTemp_Real modulo_ra (int,Dope7*,int,Dope7*) ;
extern ArrayTemp_Double modulo_da (int,Dope7*,int,Dope7*) ;
extern Integer len_trim();
extern ArrayTemp_Integer len_trima (int,ChDope7*,int) ;
extern Real log_r();
extern Double log_d();
extern Complex log_c();
extern DComplex log_dc();
extern Real log10_r();
extern Double log10_d();
# 561 "/usr/local/lib/f90/f90.h"
extern Real amax0(),amin0();
extern Integer max1(),min1();
extern ArrayTemp_Real amax0a(),amin0a();
extern ArrayTemp_Integer max1a(),min1a();
extern Integer1 max_i1();
extern Integer2 max_i2();
extern Integer max_i();
extern Real max_r();
extern Double max_d();
extern ArrayTemp_Integer1 max_i1a();
extern ArrayTemp_Integer2 max_i2a();
extern ArrayTemp_Integer max_ia();
extern ArrayTemp_Real max_ra();
extern ArrayTemp_Double max_da();
extern Integer1 min_i1();
extern Integer2 min_i2();
extern Integer min_i();
extern Real min_r();
extern Double min_d();
extern ArrayTemp_Integer1 min_i1a();
extern ArrayTemp_Integer2 min_i2a();
extern ArrayTemp_Integer min_ia();
extern ArrayTemp_Real min_ra();
extern ArrayTemp_Double min_da();
extern ArrayTemp_Integer1 maxv_dim_i1 (int,Dope7*,Integer) ;
extern ArrayTemp_Integer2 maxv_dim_i2 (int,Dope7*,Integer) ;
extern ArrayTemp_Integer maxv_dim_i (int,Dope7*,Integer) ;
extern ArrayTemp_Real maxv_dim_r (int,Dope7*,Integer) ;
extern ArrayTemp_Double maxv_dim_d (int,Dope7*,Integer) ;
extern ArrayTemp_Integer1 m_l_maxvd_i1 (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Integer2 m_l_maxvd_i2 (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Integer m_l_maxvd_i (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Real m_l_maxvd_r (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Double m_l_maxvd_d (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Integer1 m_l1_maxvd_i1 (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Integer2 m_l1_maxvd_i2 (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Integer m_l1_maxvd_i (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Real m_l1_maxvd_r (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Double m_l1_maxvd_d (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Integer1 minv_dim_i1 (int,Dope7*,Integer) ;
extern ArrayTemp_Integer2 minv_dim_i2 (int,Dope7*,Integer) ;
extern ArrayTemp_Integer minv_dim_i (int,Dope7*,Integer) ;
extern ArrayTemp_Real minv_dim_r (int,Dope7*,Integer) ;
extern ArrayTemp_Double minv_dim_d (int,Dope7*,Integer) ;
extern ArrayTemp_Integer1 m_l_minvd_i1 (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Integer2 m_l_minvd_i2 (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Integer m_l_minvd_i (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Real m_l_minvd_r (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Double m_l_minvd_d (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Integer1 m_l1_minvd_i1 (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Integer2 m_l1_minvd_i2 (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Integer m_l1_minvd_i (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Real m_l1_minvd_r (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Double m_l1_minvd_d (int,Dope7*,Integer,int,
Dope7*) ;
extern Real nearest_r(Real,double);
extern Double nearest_d(Double,double);
extern Integer nint_r_i(),nint_d_i();
extern void pack();
extern void chpack (ArrayTemp_Character*,int,ChDope7*,int,Dope7*,
ChDope1*) ;
extern void dtpack (ArrayTemp_Derived*,int,Dope7*,int,Dope7*,Dope1*,int) ;
extern void l1_pack();
extern void l1_chpack (ArrayTemp_Character*,int,ChDope7*,int,Dope7*,
ChDope1*) ;
extern void l1_dtpack (ArrayTemp_Derived*,int,Dope7*,int,Dope7*,
Dope1*,int) ;
extern ArrayTemp_Integer1 dimprod_i1 (int,Dope7*,Integer) ;
extern ArrayTemp_Integer2 dimprod_i2 (int,Dope7*,Integer) ;
extern ArrayTemp_Integer dimprod_i (int,Dope7*,Integer) ;
extern ArrayTemp_Real dimprod_r (int,Dope7*,Integer) ;
extern ArrayTemp_Double dimprod_d (int,Dope7*,Integer) ;
extern ArrayTemp_Complex dimprod_c (int,Dope7*,Integer) ;
extern ArrayTemp_DComplex dimprod_dc (int,Dope7*,Integer) ;
extern ArrayTemp_Logical1 dimprod_l1 (int,Dope7*,Integer) ;
extern ArrayTemp_Logical dimprod_l (int,Dope7*,Integer) ;
extern ArrayTemp_Integer1 m_l_dimprod_i1 (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Integer2 m_l_dimprod_i2 (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Integer m_l_dimprod_i (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Real m_l_dimprod_r (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Double m_l_dimprod_d (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Complex m_l_dimprod_c (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_DComplex m_l_dimprod_dc (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Integer1 m_l1_dimprod_i1 (int,Dope7*,Integer,
int,Dope7*) ;
extern ArrayTemp_Integer2 m_l1_dimprod_i2 (int,Dope7*,Integer,
int,Dope7*) ;
extern ArrayTemp_Integer m_l1_dimprod_i (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Real m_l1_dimprod_r (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Double m_l1_dimprod_d (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Complex m_l1_dimprod_c (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_DComplex m_l1_dimprod_dc (int,Dope7*,Integer,
int,Dope7*) ;
extern void init_random (void) ;
extern Double random90 (void) ;
extern void random_seed_size (Integer*) ;
extern void put_random_seed (Dope1*) ;
extern void get_random_seed (Dope1*) ;
extern void reshape(),chreshape(),dtreshape();
extern Real rrspacing_r();
extern Double rrspacing_d();
extern ArrayTemp_Real rrspacing_ra (int,Dope7*) ;
extern ArrayTemp_Double rrspacing_da (int,Dope7*) ;
extern Real scale_r();
extern Double scale_d();
extern Integer scan(),scan3();
extern Integer iselect(),rselect();
extern Real setexp_r();
extern Double setexp_d();
extern ArrayTemp_Integer shape_ptr (int,Dope7*) ;
extern ArrayTemp_Integer shape_cptr (int,ChDope7*) ;
extern Integer1 sign_i1();
extern Integer2 sign_i2();
extern Integer sign_i();
extern Real sign_r();
extern Double sign_d();
extern Real sin_r();
extern Double sin_d();
extern Complex sin_c();
extern DComplex sin_dc();
extern Real sinh_r();
extern Double sinh_d();
extern Integer size_ptr (int,Dope7*) ;
extern Integer size_cptr (int,ChDope7*) ;
extern Integer size_info (BoundsInfo) ;
extern Integer size_vector();
extern Integer size_cvector();
extern Integer extent_ptr (int,Dope7*,Integer) ;
extern Integer extent_cptr (int,ChDope7*,Integer) ;
extern Integer extent_info (BoundsInfo,Integer) ;
extern Integer extent_vector();
extern Integer extent_cvector();
extern Integer extent_fixed(),lbound_fixed();
extern Integer lbound_ptr (int,Dope7*,Integer) ;
extern Integer lbound_cptr (int,ChDope7*,Integer) ;
extern Integer lbound_info (BoundsInfo,Integer) ;
extern Real spacing_r();
extern Double spacing_d();
extern ArrayTemp_Real spacing_ra (int,Dope7*) ;
extern ArrayTemp_Double spacing_da (int,Dope7*) ;
extern void spread(),chspread(),dtspread();
extern void chspread (ArrayTemp_Character*,int,ChDope7*,int,int) ;
extern Real sqrt_r();
extern Double sqrt_d();
extern Complex sqrt_c();
extern DComplex sqrt_dc();
extern ArrayTemp_Integer1 dimsum_i1 (int,Dope7*,Integer) ;
extern ArrayTemp_Integer2 dimsum_i2 (int,Dope7*,Integer) ;
extern ArrayTemp_Integer dimsum_i (int,Dope7*,Integer) ;
extern ArrayTemp_Real dimsum_r (int,Dope7*,Integer) ;
extern ArrayTemp_Double dimsum_d (int,Dope7*,Integer) ;
extern ArrayTemp_Complex dimsum_c (int,Dope7*,Integer) ;
extern ArrayTemp_DComplex dimsum_dc (int,Dope7*,Integer) ;
extern ArrayTemp_Logical1 dimsum_l1 (int,Dope7*,Integer) ;
extern ArrayTemp_Logical dimsum_l (int,Dope7*,Integer) ;
extern ArrayTemp_Integer1 m_l_dimsum_i1 (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Integer2 m_l_dimsum_i2 (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Integer m_l_dimsum_i (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Real m_l_dimsum_r (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Double m_l_dimsum_d (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Complex m_l_dimsum_c (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_DComplex m_l_dimsum_dc (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Integer1 m_l1_dimsum_i1 (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Integer2 m_l1_dimsum_i2 (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Integer m_l1_dimsum_i (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Real m_l1_dimsum_r (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Double m_l1_dimsum_d (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_Complex m_l1_dimsum_c (int,Dope7*,Integer,int,
Dope7*) ;
extern ArrayTemp_DComplex m_l1_dimsum_dc (int,Dope7*,Integer,int,
Dope7*) ;
extern Real tan_r();
extern Double tan_d();
extern Real tanh_r();
extern Double tanh_d();
extern void vubound_info (ArrayTemp_Integer*,BoundsInfo) ;
extern void vubound_ptr (ArrayTemp_Integer*,int,Dope7*) ;
extern void vubound_cptr (ArrayTemp_Integer*,int,ChDope7*) ;
extern void vubound_vector (ArrayTemp_Integer*,int,Integer3[7]) ;
extern Integer ubound_vector (int,Integer3[7],Integer) ;
extern Integer ubound_info (BoundsInfo,Integer) ;
extern Integer ubound_ainfo (BoundsInfo,Integer) ;
extern Integer ubound_ptr (int,Dope7*,Integer) ;
extern Integer ubound_cptr (int,ChDope7*,Integer) ;
extern Integer ubound_fixed(),ubound_afixed();
extern Integer verify(),verify3();
extern void cos_c77(),exp_c77(),log_c77(),sin_c77(),sqrt_c77();
extern void f90_init (int,char*[]) ;
extern void f90_init1 (int,char*[]) ;
extern void f90_finish (int) ;
# 1 "colsys.f90" 2
struct {
Integer iprint_;
Integer iwr_;
} colwrt_;
struct {
Double tleft_;
Double tright_;
Integer izeta_;
} side_;
struct {
Integer mshflg_;
Integer mshnum_;
Integer mshlmt_;
Integer mshalt_;
} mshinf_;
struct {
Integer lworkd_;
Integer iworkd_;
Integer iwordo_;
Integer lworkn_;
Integer iworkn_;
Integer iworno_;
Integer lbas_;
} baspoi_;
struct {
Integer nmax_;
Integer n_;
Integer np1_;
Integer nold_;
Integer noldp1_;
Integer nalpha_;
Integer naldif_;
} collen_;
struct {
Integer k_;
Integer nc_;
Integer mstar_;
Integer kd_;
Integer kdm_;
Integer mnsum_;
Integer msum_;
Integer npar_;
Integer nfxpnt_;
} order_;
struct {
Double precis_;
Integer nonlin_;
Integer iter_;
Integer limit_;
Integer icare_;
Integer iguess_;
Integer ifreez_;
} nonln_;
struct {
Integer ind_[5];
Integer mnd_[5];
Integer nd_;
} eqord_;
struct {
Double rho_[7];
} colloc_;
# 1 "colsys.f90"
void colsys_(ncomp_,m_,aleft_,aright_,mstern_,zeta_,ipar_,ntol_,ltol_,tol_,lfxpnt_,fixpnt_,lwork_,work_,liwork_,iwork_,iflag_,fsub_,dfsub_,gsub_,dgsub_,solutn_)
Integer *ncomp_;
Integer *m_;
Double *aleft_;
Double *aright_;
Integer *mstern_;
Double *zeta_;
Integer ipar_[10];
Integer *ntol_;
Integer *ltol_;
Double *tol_;
Integer *lfxpnt_;
Double *fixpnt_;
Integer *lwork_;
Double *work_;
Integer *liwork_;
Integer *iwork_;
Integer *iflag_;
void (*fsub_)();
void (*dfsub_)();
void (*gsub_)();
void (*dgsub_)();
void (*solutn_)();
{
Integer tmp1;
Integer tmp2;
Integer tmp3;
Integer tmp4;
BoundsInfo m_info;
BoundsInfo zeta_info;
BoundsInfo ltol_info;
BoundsInfo tol_info;
BoundsInfo fixpnt_info;
BoundsInfo work_info;
BoundsInfo iwork_info;
auto Integer ia_;
auto Integer idf_;
auto Integer idg_;
auto Integer iff_;
auto Integer ig_;
auto Integer ilast_;
auto Integer imesh_;
auto Integer iread_;
auto Integer ipa_;
auto Integer ipn_;
auto Integer itol_;
auto Integer ivc_;
auto Integer ivn_;
auto Integer ivs_;
auto Integer ixin_;
auto Integer ixio_;
auto Integer ixi_;
auto Integer iz_;
auto Integer i1_;
auto Integer i2_;
auto Integer i3_;
auto Integer i4_;
auto Integer i5_;
auto Integer i6_;
auto Integer i7_;
auto Integer i8_;
auto Integer i9_;
auto Integer i10_;
auto Integer i11_;
auto Integer i12_;
auto Integer i13_;
auto Integer i14_;
auto Integer i15_;
auto Integer i16_;
auto Integer i17_;
register Integer i_;
auto Integer kpmd_;
auto Integer kp1_;
auto Integer k1_;
auto Integer k2_;
auto Integer k3_;
auto Integer la_;
auto Integer lbasef_;
auto Integer lipiv_;
auto Integer lrhs_;
auto Integer lvalst_;
auto Integer lvn_;
auto Integer md1_;
auto Integer mi_;
auto Integer naldi_;
auto Integer nfixi_;
auto Integer nfixw_;
auto Integer nmaxi_;
auto Integer nmaxw_;
auto Integer npi_;
auto Integer nmaxp1_;
auto Integer nrec_;
auto Integer nsizi_;
auto Integer nsizw_;
auto Integer ipar1_;
auto Integer ipar2_;
auto Integer np_;
auto Integer iw6_;
auto Double precp1_;
static Double r100_ = 1.00000000000000000e+02;
static Double rnull_ = 0.00000000000000000e+00;
static Double eins_ = 1.00000000000000000e+00;
static Double zwei_ = 2.00000000000000000e+00;
extern void colpri_();
extern void consts_();
extern void newmsh_();
extern void appdif_();
extern void contrl_();
# 1 "colsys.f90"
# 4 "colsys.f90"
m_info = make_info(1,1, *ncomp_);
# 4 "colsys.f90"
ltol_info = make_info(1,1, *ntol_);
# 4 "colsys.f90"
iwork_info = make_info(1,1, *liwork_);
# 4 "colsys.f90"
zeta_info = make_info(1,1, *mstern_);
# 4 "colsys.f90"
tol_info = make_info(1,1, *ntol_);
# 4 "colsys.f90"
fixpnt_info = make_info(1,1, *lfxpnt_);
# 4 "colsys.f90"
work_info = make_info(1,1, *lwork_);
# 4 "colsys.f90"
# 5 "colsys.f90"
# 11 "colsys.f90"
# 12 "colsys.f90"
# 13 "colsys.f90"
# 15 "colsys.f90"
# 16 "colsys.f90"
# 621 "colsys.f90"
# 766 "colsys.f90"
# 767 "colsys.f90"
# 769 "colsys.f90"
# 770 "colsys.f90"
# 772 "colsys.f90"
# 773 "colsys.f90"
# 775 "colsys.f90"
# 777 "colsys.f90"
# 779 "colsys.f90"
# 781 "colsys.f90"
# 782 "colsys.f90"
# 784 "colsys.f90"
# 785 "colsys.f90"
# 787 "colsys.f90"
# 789 "colsys.f90"
# 790 "colsys.f90"
# 792 "colsys.f90"
# 793 "colsys.f90"
# 794 "colsys.f90"
# 795 "colsys.f90"
# 796 "colsys.f90"
# 800 "colsys.f90"
# 801 "colsys.f90"
# 802 "colsys.f90"
# 803 "colsys.f90"
# 804 "colsys.f90"
# 805 "colsys.f90"
# 806 "colsys.f90"
# 807 "colsys.f90"
# 808 "colsys.f90"
# 809 "colsys.f90"
# 810 "colsys.f90"
# 811 "colsys.f90"
side_.tleft_ = *aleft_;
# 813 "colsys.f90"
side_.tright_ = *aright_;
# 814 "colsys.f90"
nonln_.precis_ = eins_;
# 818 "colsys.f90"
for(;;){
# 818 "colsys.f90"
if (!((1))) {
# 818 "colsys.f90"
goto CONSTRUCT_1_EXIT;
# 818 "colsys.f90"
}
# 819 "colsys.f90"
nonln_.precis_ = nonln_.precis_/zwei_;
# 820 "colsys.f90"
precp1_ = nonln_.precis_ + eins_;
# 821 "colsys.f90"
if (precp1_<=eins_) {
# 822 "colsys.f90"
nonln_.precis_ = nonln_.precis_*r100_;
# 823 "colsys.f90"
if ( *ncomp_>=1) {
# 831 "colsys.f90"
if (m_[1*(1) + -1]>=1) {
# 832 "colsys.f90"
if (m_[1*( *ncomp_) + -1]<=4) {
# 833 "colsys.f90"
if ( *ncomp_!=1) {
# 834 "colsys.f90"
tmp1 = *ncomp_;
# 834 "colsys.f90"
for(i_ = 2;i_ <= tmp1;i_++) {
# 835 "colsys.f90"
if (m_[1*(i_ - 1) + -1]>m_[1*(i_) + -1]) {
# 835 "colsys.f90"
goto L_20;
# 835 "colsys.f90"
}
# 836 "colsys.f90"
}
# 837 "colsys.f90"
}
# 838 "colsys.f90"
nonln_.nonlin_ = ipar_[1*(1) + -1];
# 842 "colsys.f90"
order_.k_ = ipar_[1*(2) + -1];
# 843 "colsys.f90"
if (order_.k_<=0) {
# 843 "colsys.f90"
tmp1 = m_[1*( *ncomp_) + -1] + 1;
# 843 "colsys.f90"
tmp2 = 5 - m_[1*( *ncomp_) + -1];
# 843 "colsys.f90"
order_.k_ = (tmp1>tmp2 ? tmp1 : tmp2);
# 843 "colsys.f90"
}
# 844 "colsys.f90"
collen_.n_ = ipar_[1*(3) + -1];
# 845 "colsys.f90"
if (collen_.n_==0) {
# 845 "colsys.f90"
collen_.n_ = 5;
# 845 "colsys.f90"
}
# 846 "colsys.f90"
colwrt_.iprint_ = ipar_[1*(4) + -1];
# 847 "colsys.f90"
colwrt_.iwr_ = ipar_[1*(5) + -1];
# 848 "colsys.f90"
if (colwrt_.iwr_==0) {
# 848 "colsys.f90"
colwrt_.iwr_ = 6;
# 848 "colsys.f90"
}
# 849 "colsys.f90"
if ((ipar_[1*(7) + -1]==2 || ipar_[1*(7) + -1]==3) && collen_.n_!=iwork_[1*(1) + -1]) {
# 854 "colsys.f90"
collen_.n_ = iwork_[1*(1) + -1];
# 855 "colsys.f90"
if (colwrt_.iprint_>=1) {
# 855 "colsys.f90"
colpri_(ncomp_,m_,zeta_,mstern_,(tmp1 = 1 , &tmp1),&collen_.n_,&ipar_[1*(3) + -1],&work_[1*(1) + -1],&colwrt_.iwr_,(tmp2 = 6 , &tmp2));
# 855 "colsys.f90"
}
# 857 "colsys.f90"
}
# 858 "colsys.f90"
iread_ = ipar_[1*(6) + -1];
# 860 "colsys.f90"
nonln_.iguess_ = ipar_[1*(7) + -1];
# 861 "colsys.f90"
if (nonln_.nonlin_==0 && nonln_.iguess_==1) {
# 861 "colsys.f90"
nonln_.iguess_ = 0;
# 861 "colsys.f90"
}
# 862 "colsys.f90"
if (nonln_.iguess_>=2 && iread_==0) {
# 862 "colsys.f90"
iread_ = 1;
# 862 "colsys.f90"
}
# 863 "colsys.f90"
nonln_.icare_ = ipar_[1*(8) + -1];
# 864 "colsys.f90"
nonln_.limit_ = ipar_[1*(9) + -1];
# 865 "colsys.f90"
if (nonln_.limit_<=0) {
# 865 "colsys.f90"
nonln_.limit_ = 40;
# 865 "colsys.f90"
}
# 866 "colsys.f90"
order_.nfxpnt_ = ipar_[1*(10) + -1];
# 867 "colsys.f90"
if (order_.nfxpnt_<= *lfxpnt_) {
# 868 "colsys.f90"
if (order_.nfxpnt_<0) {
# 868 "colsys.f90"
order_.nfxpnt_ = 0;
# 868 "colsys.f90"
}
# 869 "colsys.f90"
mshinf_.mshlmt_ = 3;
# 871 "colsys.f90"
mshinf_.mshflg_ = 0;
# 872 "colsys.f90"
mshinf_.mshnum_ = 1;
# 873 "colsys.f90"
mshinf_.mshalt_ = 1;
# 874 "colsys.f90"
order_.nc_ = *ncomp_;
# 875 "colsys.f90"
order_.msum_ = 0;
# 876 "colsys.f90"
order_.mnsum_ = 0;
# 877 "colsys.f90"
tmp1 = order_.nc_;
# 877 "colsys.f90"
for(i_ = 1;i_ <= tmp1;i_++) {
# 878 "colsys.f90"
mi_ = m_[1*(i_) + -1];
# 879 "colsys.f90"
order_.msum_ = order_.msum_ + mi_;
# 880 "colsys.f90"
order_.mnsum_ = order_.mnsum_ + mi_*mi_;
# 881 "colsys.f90"
}
# 882 "colsys.f90"
order_.mstar_ = *mstern_;
# 883 "colsys.f90"
order_.npar_ = *mstern_ - order_.msum_;
# 884 "colsys.f90"
if (order_.k_>=0 && order_.k_<=7) {
# 887 "colsys.f90"
if (collen_.n_>=0) {
# 888 "colsys.f90"
if (iread_>=0 && iread_<=2) {
# 889 "colsys.f90"
if (nonln_.iguess_>=0 && nonln_.iguess_<=4) {
# 890 "colsys.f90"
if (nonln_.icare_>=0 && nonln_.icare_<=3) {
# 891 "colsys.f90"
if ( *ntol_>=1 && *ntol_<= *mstern_) {
# 892 "colsys.f90"
if ( *lfxpnt_>=0) {
# 893 "colsys.f90"
if ( *lfxpnt_>=order_.nfxpnt_) {
# 894 "colsys.f90"
if (colwrt_.iprint_>=0 && colwrt_.iprint_<=2) {
# 895 "colsys.f90"
if (order_.msum_>0) {
# 896 "colsys.f90"
if ( *mstern_>=order_.msum_) {
# 897 "colsys.f90"
if (colwrt_.iprint_>1) {
# 898 "colsys.f90"
colpri_(&order_.nc_,m_,zeta_,&order_.mstar_,(tmp1 = 1 , &tmp1),&order_.k_,&nonln_.nonlin_,&eins_,&colwrt_.iwr_,(tmp2 = 1 , &tmp2));
# 899 "colsys.f90"
if (order_.npar_>0) {
# 899 "colsys.f90"
colpri_(&order_.npar_,m_,zeta_,(tmp1 = 1 , &tmp1),(tmp2 = 1 , &tmp2),&order_.k_,(tmp3 = 1 , &tmp3),&eins_,&colwrt_.iwr_,(tmp4 = 5 , &tmp4));
# 899 "colsys.f90"
}
# 901 "colsys.f90"
colpri_(ntol_,ltol_,tol_,ntol_,(tmp1 = 1 , &tmp1),(tmp2 = 1 , &tmp2),(tmp3 = 1 , &tmp3),&eins_,&colwrt_.iwr_,(tmp4 = 3 , &tmp4));
# 902 "colsys.f90"
if (order_.nfxpnt_!=0) {
# 903 "colsys.f90"
colpri_(&order_.nc_,m_,fixpnt_,&order_.nfxpnt_,(tmp1 = 1 , &tmp1),(tmp2 = 1 , &tmp2),(tmp3 = 1 , &tmp3),&eins_,&colwrt_.iwr_,(tmp4 = 2 , &tmp4));
# 904 "colsys.f90"
if (fixpnt_[1*(1) + -1]<= *aleft_) {
# 904 "colsys.f90"
goto L_20;
# 904 "colsys.f90"
}
# 905 "colsys.f90"
if (fixpnt_[1*(order_.nfxpnt_) + -1]>= *aright_) {
# 905 "colsys.f90"
goto L_20;
# 905 "colsys.f90"
}
# 906 "colsys.f90"
if (order_.nfxpnt_>=2) {
# 907 "colsys.f90"
tmp1 = order_.nfxpnt_;
# 907 "colsys.f90"
for(i_ = 2;i_ <= tmp1;i_++) {
# 908 "colsys.f90"
if (fixpnt_[1*(i_ - 1) + -1]>=fixpnt_[1*(i_) + -1]) {
# 908 "colsys.f90"
goto L_20;
# 908 "colsys.f90"
}
# 909 "colsys.f90"
}
# 910 "colsys.f90"
}
# 911 "colsys.f90"
}
# 912 "colsys.f90"
}
# 913 "colsys.f90"
nrec_ = 0;
# 914 "colsys.f90"
tmp1 = order_.mstar_;
# 914 "colsys.f90"
for(i_ = 1;i_ <= tmp1;i_++) {
# 915 "colsys.f90"
if (zeta_[1*(i_) + -1]>=side_.tright_) {
# 915 "colsys.f90"
nrec_ = nrec_ + 1;
# 915 "colsys.f90"
}
# 916 "colsys.f90"
}
# 917 "colsys.f90"
eqord_.ind_[1*(1) + -1] = 1;
# 921 "colsys.f90"
eqord_.mnd_[1*(1) + -1] = m_[1*(1) + -1];
# 922 "colsys.f90"
eqord_.nd_ = 1;
# 923 "colsys.f90"
ig_ = 1 + (m_[1*(1) + -1] + 1)*(m_[1*(1) + -1] + order_.k_);
# 924 "colsys.f90"
if (order_.nc_>1) {
# 925 "colsys.f90"
tmp1 = order_.nc_;
# 925 "colsys.f90"
for(i_ = 2;i_ <= tmp1;i_++) {
# 926 "colsys.f90"
mi_ = m_[1*(i_) + -1];
# 927 "colsys.f90"
if (mi_!=m_[1*(i_ - 1) + -1]) {
# 928 "colsys.f90"
ig_ = (mi_ + order_.k_)*(mi_ + 1) + ig_;
# 929 "colsys.f90"
eqord_.nd_ = eqord_.nd_ + 1;
# 930 "colsys.f90"
eqord_.ind_[1*(eqord_.nd_) + -1] = ig_;
# 931 "colsys.f90"
eqord_.mnd_[1*(eqord_.nd_) + -1] = mi_;
# 932 "colsys.f90"
}
# 933 "colsys.f90"
}
# 934 "colsys.f90"
}
# 935 "colsys.f90"
eqord_.ind_[1*(eqord_.nd_ + 1) + -1] = ig_ + (mi_ + 1)*(mi_ + order_.k_);
# 936 "colsys.f90"
order_.kd_ = order_.k_*order_.nc_;
# 937 "colsys.f90"
order_.kdm_ = order_.kd_ + order_.mstar_;
# 938 "colsys.f90"
kpmd_ = order_.k_ + m_[1*( *ncomp_) + -1];
# 939 "colsys.f90"
lvn_ = kpmd_*(kpmd_ + 1)/2;
# 940 "colsys.f90"
nfixi_ = *ntol_ + nrec_;
# 941 "colsys.f90"
nsizi_ = 3 + order_.kdm_ - nrec_;
# 942 "colsys.f90"
md1_ = m_[1*( *ncomp_) + -1] + 1;
# 943 "colsys.f90"
baspoi_.lworkd_ = kpmd_*(md1_ + 1);
# 944 "colsys.f90"
baspoi_.lbas_ = eqord_.ind_[1*(eqord_.nd_ + 1) + -1];
# 945 "colsys.f90"
baspoi_.iworkd_ = baspoi_.lbas_;
# 946 "colsys.f90"
baspoi_.iwordo_ = baspoi_.iworkd_ + baspoi_.lworkd_;
# 947 "colsys.f90"
baspoi_.iworkn_ = baspoi_.iwordo_ + baspoi_.lworkd_;
# 948 "colsys.f90"
baspoi_.lworkn_ = (eqord_.nd_ - 1)*baspoi_.lworkd_;
# 949 "colsys.f90"
if (baspoi_.lworkn_==0) {
# 949 "colsys.f90"
baspoi_.lworkn_ = 1;
# 949 "colsys.f90"
}
# 950 "colsys.f90"
baspoi_.iworno_ = baspoi_.iworkn_ + baspoi_.lworkn_;
# 951 "colsys.f90"
lbasef_ = baspoi_.lbas_ + 2*baspoi_.lworkd_ + 2*baspoi_.lworkn_;
# 952 "colsys.f90"
nfixw_ = order_.mstar_*(8 + *ncomp_) + 2* *ncomp_ + nrec_ + 2*order_.mnsum_ + 3* *ntol_ + order_.kdm_*nrec_ + lbasef_ + 4 + lvn_*(order_.k_ + 6) + 4*order_.npar_;
# 958 "colsys.f90"
nsizw_ = 2*order_.kd_ + 2*order_.k_*order_.msum_ + (order_.kdm_ + 1)*(order_.kdm_ - nrec_) + 4*order_.msum_ + 4;
# 960 "colsys.f90"
nmaxw_ = ( *lwork_ - nfixw_)/nsizw_;
# 961 "colsys.f90"
nmaxi_ = ( *liwork_ - nfixi_)/nsizi_;
# 962 "colsys.f90"
collen_.nmax_ = (nmaxw_<nmaxi_ ? nmaxw_ : nmaxi_);
# 963 "colsys.f90"
nmaxp1_ = collen_.nmax_ + 1;
# 964 "colsys.f90"
if (colwrt_.iprint_==2) {
# 965 "colsys.f90"
colpri_(&order_.nc_,m_,tol_,(tmp1 = 1 , &tmp1),(tmp2 = 1 , &tmp2),&nmaxw_,&nmaxi_,&tol_[1*(1) + -1],&colwrt_.iwr_,(tmp3 = 4 , &tmp3));
# 965 "colsys.f90"
}
# 966 "colsys.f90"
if (collen_.nmax_>=order_.nfxpnt_ + 1) {
# 971 "colsys.f90"
if (collen_.nmax_>=collen_.n_) {
# 972 "colsys.f90"
ixi_ = 1;
# 973 "colsys.f90"
ia_ = ixi_ + nmaxp1_;
# 974 "colsys.f90"
la_ = order_.kdm_*(collen_.nmax_*(order_.kdm_ - nrec_) + nrec_);
# 975 "colsys.f90"
i1_ = ia_ + la_;
# 976 "colsys.f90"
i2_ = i1_ + nmaxp1_;
# 977 "colsys.f90"
collen_.nalpha_ = collen_.nmax_*order_.kd_ + order_.mstar_;
# 978 "colsys.f90"
i3_ = i2_ + collen_.nalpha_;
# 979 "colsys.f90"
i4_ = i3_ + collen_.nalpha_;
# 980 "colsys.f90"
collen_.naldif_ = collen_.nmax_*order_.k_*order_.msum_ + order_.mnsum_ + order_.npar_;
# 981 "colsys.f90"
i5_ = i4_ + collen_.naldif_;
# 982 "colsys.f90"
i6_ = i5_ + collen_.naldif_;
# 983 "colsys.f90"
lrhs_ = collen_.nmax_*(order_.kdm_ - nrec_) + nrec_;
# 984 "colsys.f90"
i7_ = i6_ + lrhs_;
# 985 "colsys.f90"
lvalst_ = 4*order_.msum_*collen_.nmax_;
# 986 "colsys.f90"
i8_ = i7_ + lvalst_;
# 987 "colsys.f90"
i9_ = i8_ + lbasef_;
# 988 "colsys.f90"
i10_ = i9_ + *ntol_;
# 989 "colsys.f90"
i11_ = i10_ + order_.mstar_;
# 990 "colsys.f90"
i12_ = i11_ + order_.mstar_;
# 991 "colsys.f90"
i13_ = i12_ + order_.mstar_;
# 992 "colsys.f90"
i14_ = i13_ + *ntol_;
# 993 "colsys.f90"
i15_ = i14_ + *ntol_;
# 994 "colsys.f90"
i16_ = i15_ + nmaxp1_;
# 995 "colsys.f90"
iz_ = i16_ + nmaxp1_;
# 996 "colsys.f90"
idg_ = iz_ + order_.mstar_;
# 997 "colsys.f90"
iff_ = idg_ + order_.mstar_;
# 998 "colsys.f90"
idf_ = iff_ + *ncomp_;
# 999 "colsys.f90"
i17_ = idf_ + *ncomp_*order_.mstar_;
# 1000 "colsys.f90"
ivc_ = i17_ + *ncomp_;
# 1001 "colsys.f90"
ivs_ = ivc_ + lvn_*order_.k_;
# 1002 "colsys.f90"
ivn_ = ivs_ + lvn_*5;
# 1003 "colsys.f90"
ipar1_ = ivn_ + lvn_;
# 1004 "colsys.f90"
ipar2_ = ipar1_ + order_.npar_;
# 1005 "colsys.f90"
np_ = order_.npar_;
# 1006 "colsys.f90"
if (np_==0) {
# 1006 "colsys.f90"
np_ = 1;
# 1006 "colsys.f90"
}
# 1007 "colsys.f90"
k1_ = 1;
# 1008 "colsys.f90"
k2_ = k1_ + *ntol_;
# 1009 "colsys.f90"
lipiv_ = lrhs_;
# 1010 "colsys.f90"
k3_ = k2_ + lipiv_;
# 1011 "colsys.f90"
kp1_ = order_.k_ + 1;
# 1012 "colsys.f90"
tmp1 = *ntol_;
# 1012 "colsys.f90"
for(i_ = 1;i_ <= tmp1;i_++) {
# 1013 "colsys.f90"
itol_ = i9_ + i_ - 1;
# 1014 "colsys.f90"
work_[1*(itol_) + -1] = tol_[1*(i_) + -1];
# 1015 "colsys.f90"
}
# 1016 "colsys.f90"
collen_.nold_ = collen_.n_;
# 1018 "colsys.f90"
collen_.noldp1_ = collen_.nold_ + 11;
# 1019 "colsys.f90"
if (nonln_.iguess_>=2) {
# 1021 "colsys.f90"
collen_.nold_ = collen_.n_;
# 1022 "colsys.f90"
if (nonln_.iguess_==4) {
# 1022 "colsys.f90"
collen_.nold_ = iwork_[1*(1) + -1];
# 1022 "colsys.f90"
}
# 1023 "colsys.f90"
collen_.naldif_ = collen_.nold_*order_.k_*order_.msum_ + order_.mnsum_ + order_.npar_;
# 1024 "colsys.f90"
collen_.nalpha_ = collen_.nold_*order_.kd_ + order_.mstar_;
# 1025 "colsys.f90"
collen_.np1_ = collen_.n_ + 1;
# 1026 "colsys.f90"
collen_.noldp1_ = collen_.nold_ + 1;
# 1027 "colsys.f90"
if (nonln_.iguess_==4) {
# 1027 "colsys.f90"
collen_.np1_ = collen_.np1_ + collen_.noldp1_;
# 1027 "colsys.f90"
}
# 1028 "colsys.f90"
tmp1 = collen_.naldif_;
# 1028 "colsys.f90"
for(i_ = 1;i_ <= tmp1;i_++) {
# 1033 "colsys.f90"
npi_ = collen_.np1_ + i_;
# 1034 "colsys.f90"
naldi_ = i5_ + i_ - 1;
# 1035 "colsys.f90"
work_[1*(naldi_) + -1] = work_[1*(npi_) + -1];
# 1036 "colsys.f90"
}
# 1037 "colsys.f90"
collen_.np1_ = collen_.nold_ + 1;
# 1038 "colsys.f90"
if (nonln_.iguess_==4) {
# 1039 "colsys.f90"
tmp1 = collen_.np1_;
# 1039 "colsys.f90"
for(i_ = 1;i_ <= tmp1;i_++) {
# 1044 "colsys.f90"
ixio_ = i1_ + i_ - 1;
# 1045 "colsys.f90"
ixin_ = ia_ + i_ - 1;
# 1046 "colsys.f90"
work_[1*(ixio_) + -1] = work_[1*(ixin_) + -1];
# 1047 "colsys.f90"
}
# 1048 "colsys.f90"
} else {
# 1049 "colsys.f90"
tmp1 = collen_.np1_;
# 1049 "colsys.f90"
for(i_ = 1;i_ <= tmp1;i_++) {
# 1054 "colsys.f90"
ixio_ = i1_ + i_ - 1;
# 1055 "colsys.f90"
ixin_ = ixi_ + i_ - 1;
# 1056 "colsys.f90"
work_[1*(ixio_) + -1] = work_[1*(ixin_) + -1];
# 1057 "colsys.f90"
}
# 1058 "colsys.f90"
}
# 1059 "colsys.f90"
}
# 1060 "colsys.f90"
consts_(&order_.k_,&order_.nc_,m_,mstern_,ntol_,ltol_,&iwork_[1*(k1_) + -1],&work_[1*(i9_) + -1],&work_[1*(i14_) + -1],&work_[1*(i13_) + -1],&work_[1*(i10_) + -1],&lvn_,&work_[1*(ivc_) + -1],&work_[1*(ivs_) + -1]);
# 1069 "colsys.f90"
collen_.naldif_ = collen_.nmax_*order_.k_*order_.msum_ + order_.mnsum_ + order_.npar_;
# 1070 "colsys.f90"
imesh_ = 3 + iread_;
# 1071 "colsys.f90"
newmsh_(&imesh_,&nmaxp1_,&work_[1*(ixi_) + -1],&collen_.noldp1_,&work_[1*(i1_) + -1],&collen_.naldif_,&work_[1*(i5_) + -1],&lvalst_,&work_[1*(i7_) + -1],&work_[1*(i15_) + -1],&work_[1*(i16_) + -1],lfxpnt_,fixpnt_,ntol_,ltol_,&iwork_[1*(k1_) + -1],&work_[1*(i13_) + -1],&work_[1*(i14_) + -1],&order_.nc_,m_,&order_.mstar_,work_,work_,work_,&kp1_,work_,&lvn_,&work_[1*(ivs_) + -1],iflag_);
# 1079 "colsys.f90"
if (nonln_.iguess_<2) {
# 1080 "colsys.f90"
collen_.np1_ = collen_.n_ + 1;
# 1086 "colsys.f90"
tmp1 = collen_.np1_;
# 1086 "colsys.f90"
for(i_ = 1;i_ <= tmp1;i_++) {
# 1087 "colsys.f90"
ixio_ = i1_ + i_ - 1;
# 1088 "colsys.f90"
ixin_ = i_ + ixi_ - 1;
# 1089 "colsys.f90"
work_[1*(ixio_) + -1] = work_[1*(ixin_) + -1];
# 1090 "colsys.f90"
}
# 1091 "colsys.f90"
collen_.nold_ = collen_.n_;
# 1092 "colsys.f90"
collen_.noldp1_ = collen_.np1_;
# 1093 "colsys.f90"
if (nonln_.nonlin_!=0 && nonln_.iguess_!=1) {
# 1094 "colsys.f90"
collen_.nalpha_ = collen_.n_*order_.kd_ + order_.mstar_;
# 1101 "colsys.f90"
ilast_ = i2_ + collen_.nalpha_ - 1;
# 1102 "colsys.f90"
tmp1 = ilast_;
# 1102 "colsys.f90"
for(i_ = i2_;i_ <= tmp1;i_++) {
# 1103 "colsys.f90"
work_[1*(i_) + -1] = rnull_;
# 1104 "colsys.f90"
}
# 1105 "colsys.f90"
collen_.naldif_ = collen_.n_*order_.k_*order_.msum_ + order_.mnsum_ + order_.npar_;
# 1106 "colsys.f90"
appdif_(&collen_.naldif_,&work_[1*(i5_) + -1],&collen_.nalpha_,&work_[1*(i2_) + -1],&work_[1*(ixi_) + -1],&collen_.np1_,&order_.k_,&order_.nc_,m_,&order_.mstar_);
# 1108 "colsys.f90"
}
# 1109 "colsys.f90"
}
# 1110 "colsys.f90"
if (nonln_.iguess_>=2) {
# 1110 "colsys.f90"
nonln_.iguess_ = 0;
# 1110 "colsys.f90"
}
# 1111 "colsys.f90"
collen_.np1_ = collen_.n_ + 1;
# 1112 "colsys.f90"
collen_.noldp1_ = collen_.nold_ + 1;
# 1113 "colsys.f90"
collen_.naldif_ = collen_.nmax_*order_.k_*order_.msum_ + order_.mnsum_ + order_.npar_;
# 1114 "colsys.f90"
collen_.nalpha_ = collen_.nmax_*order_.kd_ + order_.mstar_;
# 1115 "colsys.f90"
contrl_(&order_.nc_,&order_.k_,m_,&order_.mstar_,&collen_.nmax_,&collen_.nalpha_,&work_[1*(i2_) + -1],&work_[1*(i3_) + -1],&collen_.naldif_,&work_[1*(i5_) + -1],&work_[1*(i4_) + -1],&nmaxp1_,&work_[1*(ixi_) + -1],&work_[1*(i1_) + -1],&la_,&work_[1*(ia_) + -1],&lrhs_,&work_[1*(i6_) + -1],&iwork_[1*(k2_) + -1],&iwork_[1*(k3_) + -1],&work_[1*(iz_) + -1],&work_[1*(iff_) + -1],&work_[1*(idf_) + -1],&work_[1*(idg_) + -1],zeta_,&work_[1*(i17_) + -1],&lbasef_,&work_[1*(i8_) + -1],ntol_,ltol_,&iwork_[1*(k1_) + -1],&work_[1*(i9_) + -1],&work_[1*(i10_) + -1],&work_[1*(i11_) + -1],&work_[1*(i12_) + -1],&work_[1*(i13_) + -1],&work_[1*(i14_) + -1],&lvalst_,&work_[1*(i7_) + -1],&work_[1*(i15_) + -1],&work_[1*(i16_) + -1],lfxpnt_,fixpnt_,iflag_,&lvn_,&work_[1*(ivc_) + -1],&work_[1*(ivs_) + -1],&work_[1*(ivn_) + -1],&np_,&work_[1*(ipar1_) + -1],&work_[1*(ipar2_) + -1],fsub_,dfsub_,gsub_,dgsub_,solutn_);
# 1128 "colsys.f90"
iwork_[1*(1) + -1] = collen_.n_;
# 1133 "colsys.f90"
iwork_[1*(2) + -1] = order_.k_;
# 1134 "colsys.f90"
iwork_[1*(3) + -1] = *ncomp_;
# 1135 "colsys.f90"
iwork_[1*(4) + -1] = nonln_.iter_;
# 1136 "colsys.f90"
collen_.naldif_ = collen_.n_*order_.k_*order_.msum_ + order_.mnsum_ + order_.npar_;
# 1137 "colsys.f90"
iwork_[1*(5) + -1] = collen_.naldif_;
# 1138 "colsys.f90"
iwork_[1*(6) + -1] = collen_.naldif_ + collen_.n_ + 1;
# 1139 "colsys.f90"
iwork_[1*(7) + -1] = iwork_[1*(6) + -1] + lvn_;
# 1140 "colsys.f90"
tmp1 = *ncomp_;
# 1140 "colsys.f90"
for(i_ = 1;i_ <= tmp1;i_++) {
# 1141 "colsys.f90"
iwork_[1*(i_ + 7) + -1] = m_[1*(i_) + -1];
# 1142 "colsys.f90"
}
# 1143 "colsys.f90"
iwork_[1*(8 + *ncomp_) + -1] = order_.npar_;
# 1144 "colsys.f90"
tmp1 = collen_.naldif_;
# 1144 "colsys.f90"
for(i_ = 1;i_ <= tmp1;i_++) {
# 1149 "colsys.f90"
ipn_ = collen_.np1_ + i_;
# 1150 "colsys.f90"
ipa_ = i5_ + i_ - 1;
# 1151 "colsys.f90"
work_[1*(ipn_) + -1] = work_[1*(ipa_) + -1];
# 1152 "colsys.f90"
}
# 1153 "colsys.f90"
iw6_ = iwork_[1*(6) + -1];
# 1159 "colsys.f90"
tmp1 = order_.mstar_;
# 1159 "colsys.f90"
for(i_ = 1;i_ <= tmp1;i_++) {
# 1160 "colsys.f90"
work_[1*(i_ + iw6_) + -1] = work_[1*(i12_ + i_ - 1) + -1];
# 1161 "colsys.f90"
}
# 1162 "colsys.f90"
goto CONSTRUCT_1_EXIT;
# 1164 "colsys.f90"
}
# 1165 "colsys.f90"
}
# 1166 "colsys.f90"
}
# 1167 "colsys.f90"
}
# 1168 "colsys.f90"
}
# 1169 "colsys.f90"
}
# 1170 "colsys.f90"
}
# 1171 "colsys.f90"
}
# 1172 "colsys.f90"
}
# 1173 "colsys.f90"
}
# 1174 "colsys.f90"
}
# 1175 "colsys.f90"
}
# 1176 "colsys.f90"
}
# 1177 "colsys.f90"
}
# 1178 "colsys.f90"
}
# 1179 "colsys.f90"
}
# 1180 "colsys.f90"
}
L_20:
# 1185 "colsys.f90"
*iflag_ = 4;
# 1186 "colsys.f90"
goto CONSTRUCT_1_EXIT;
# 1187 "colsys.f90"
}
# 1188 "colsys.f90"
}
CONSTRUCT_1_EXIT:;
# 1189 "colsys.f90"
return ;
# 1193 "colsys.f90"
}
Technical Details
Message-ID:
<9612231117.AA21474@mch2ws2.tuwien.ac.at>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 113d02,e2684e31fecc3886,start X-Google-Attributes: gid113d02,public From: asteindl@mch2ws2.tuwien.ac.at (Alois Steindl) Subject: Bug in gcc-2.7.2.1, NeXTStep 3.2 Date: 1996/12/23 Message-ID: <9612231117.AA21474@mch2ws2.tuwien.ac.at> X-Deja-AN: 205573055 sender: bug-gcc-request@prep.ai.mit.edu x-gateway: relay6.UU.NET from bug-gcc to gnu.gcc.bug; Mon, 23 Dec 1996 06:24:13 EST reply-to: Alois.Steindl+Mechanik@tuwien.ac.at newsgroups: gnu.gcc.bug