🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.gcc.bug
Article #6287

bugreport

#6287
From: harold
Date: Mon, 08 Jan 1996 00:00
2655 lines
40629 bytes
Hi there,
I'd like to report a compiler bug.

* it occurs when gcc is invoked as:
gcc -c omain.c

* the errormessage:
gcc: Internal compiler error: program cc1 got fatal signal 6

* the version:
Reading specs from /usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/specs
gcc version 2.6.3

* the machine:
HP Apollo Series 735 running HP-UX A.09.03
I guess you're now gonna mail me saying the problem is my OS, right? ;-)

* the files:
I'm including the sourcefile "omain.c", the headerfile "oconfig.h"
as well as the CPP output below.

* the problem:
is in de second last line of oconfig.h which reads:
	void 	 print_postitem(PostItem *p, int verbose) {
(it should read: void  print_postitem(PostItem *p, int verbose); )
but the compiler fails to report error(s), and dumps core.

* I can be reached at: 
harold@hoyte.nl

Best regards and happy reproducing,

		Bo.
--

	"We are root. You will be assimilated. Resistance is futile."



----- oconfig.h -------

/************************************
* config.h - edit to fit your needs *
* Wed Nov 29 15:03:11 WET 1995  Bo. *
************************************/



/*************************************
* Where to look for the ADS library? *
*************************************/

#include "/acad/ads/adslib.h"



/*********************************************
* Add the names & pointers of your functions *
* here. Also, don't forget to prototype them *
* Note: genf is a generic template function. *
*********************************************/

#define EXFUNS {"c:genf",genf},\
{"c:idma",idma},\
{"c:ipost",ipost},\
{"c:post",post},\
{"c:plist",plist},\
{"c:psync",psync},

int genf _((struct resbuf *));
int idma _(());
int ipost _(());
int post _(());
int plist _(());
int psync _(());



/*****************************************
* This is where the partlist output goes *
*****************************************/

#define PARTLIST "part.list"



/*******************************************************************************
* Better not change anything below this, unless - of course - you know exactly *
* what you are doing, which - of course - you really can't be sure (enough) of *
*******************************************************************************/

#include <stdio.h>
#include <strings.h>
#include <string.h>
#include <math.h>


#define APPN "POST221295123930BO1"

#define MAXSTRL	255

#define ARRAYSIZE(x) (sizeof(x)/sizeof((x)[0]))


int	set_space(const char *);
void 	print_restype(struct resbuf *);
void 	print_restype_list(struct resbuf *);
void 	print_3dpt(const char *, struct resbuf *);
void 	print_resbuf(struct resbuf *);
void 	print_resbuf_list(struct resbuf *);
int 	get_resbuf_val(union ads_u_val *, struct resbuf *, short);
int 	has_dxf_code(struct resbuf *, short);
int 	has_extended_data(ads_name);
int 	get_dxf_strval(struct resbuf *, short, char *);
int 	get_dxf_intval(struct resbuf *, short, short *);
int 	put_dxf_strval(struct resbuf *, short, char *);
int     get_attribute(ads_name, const char *, char *);
void	idma_ent(ads_name);
void	idma_set(ads_name);


typedef struct postitem {
	short 	number;
	char	name[MAXSTRL+1]; 
	char	bin_no[MAXSTRL+1], description[MAXSTRL+1], manufacturer[MAXSTRL+1],   /* must be defined! */
		part_number[MAXSTRL+1], component_name[MAXSTRL+1], supplier[MAXSTRL+1], quantity[MAXSTRL+1];
	struct 	postitem *next;
} PostItem;


PostItem *find_postitem_by_number(PostItem *, long);
PostItem *find_postitem_by_name(PostItem *, const char *);
void 	 print_postitem(PostItem *p, int verbose) {
PostItem *get_postitem_data(void);

---------- omain.c ----------

/*************************************** 
* main.c - no need to edit this I hope *
* Tue Nov 28 09:42:36 WET 1995     Bo. *
***************************************/


#include  "oconfig.h"


typedef struct exfunc { 
	char *name; 
	int (*pntr) _((struct resbuf *)); 
} ExFunc;

ExFunc exfun[] = { EXFUNS };


static int loadfuncs();
static int unloadfuncs();
static int dofuncs();



void main(int argc, char *argv[]) {

    int stat;
    short scode=RSRSLT;		/* This is the default result code */

    ads_init(argc, argv);	/* Initialize the interface */

    for (;;) {

        if ((stat=ads_link(scode))<0) {
            /* Can't use ads_printf to display this message, because the link failed */
            printf("TEMPLATE: bad status from ads_link()=%d\n",stat); fflush(stdout); exit(1);
        }

        scode=RSRSLT;	/* default return value */

        switch (stat) {

	/* register your ADS external functions */
        case RQXLOAD:                
            scode = (loadfuncs()==RTNORM) ? RSRSLT : RSERR;
	    ads_printf("OK.\n");
            break;

	/* handle request for external function */
        case RQSUBR:
	    scode = (dofuncs()==RTNORM) ? RSRSLT : RSERR;
            break;

	/* do C program cleanup here */
        case RQXUNLD:                 
	    scode = (unloadfuncs()==RTNORM) ? RSRSLT : RSERR;
	    ads_printf("OK.\n");
            break;

	/* AutoCAD SAVE command notification */
        case RQSAVE:                  
	    ads_printf("Save request.\n");
            break;

	/* AutoCAD QUIT command notification */
        case RQQUIT:
	    ads_printf("Quit request.\n");
            break;

	/* AutoCAD END command notification */
        case RQEND:
	    ads_printf("End request.\n");
            break;

        default:
	    ads_printf("Unknown request?\n");
            break;
        }
    }
}



/* define external functions with AutoLISP */
static int loadfuncs() {

	int i;

	for (i=0; i<ARRAYSIZE(exfun); ++i) {
		ads_printf("\n%s\n",exfun[i].name);
		if (!ads_defun(exfun[i].name,i)) {
			ads_printf("ACK! Couldn't defun \"%s\"\n",exfun[i].name); return RTERROR;
		}
	} 
	return RTNORM;
}



/* get rid of external functions */
static int unloadfuncs() {

	int i;

	for (i=0; i<ARRAYSIZE(exfun); ++i) {
		ads_printf("\n%s\n",exfun[i].name);
		if (!ads_undef(exfun[i].name,i)) {
			ads_printf("ACK! Couldn't undef \"%s\"\n",exfun[i].name); return RTERROR;
		}
	} 
	return RTNORM;
}



/* execute external function */
static int dofuncs() {

	int fun,res;
	struct resbuf *rb=ads_getargs();

	if ((fun=ads_getfuncode())<0 || fun>=ARRAYSIZE(exfun)) {
		ads_fail("Nonexisting function code."); return RTERROR;
	}

	res=(*exfun[fun].pntr)(rb); ads_relrb(rb); return res;
}

--------- CPP output ----------

# 1 "omain.c"
 





# 1 "oconfig.h" 1
 






 



# 1 "/acad/ads/adslib.h" 1
 
































  
 










































 




 






















 



# 1 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdlib.h" 1 3
 




# 1 "/usr/include/sys/stdsyms.h" 1 3
 













# 64 "/usr/include/sys/stdsyms.h" 3








# 88 "/usr/include/sys/stdsyms.h" 3






































# 139 "/usr/include/sys/stdsyms.h" 3











# 6 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdlib.h" 2 3











   extern int __nl_char_size;






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








     typedef unsigned int size_t;








     typedef unsigned int wchar_t;





       extern double atof(const char *);

     extern int atoi(const char *);
     extern long int atol(const char *);
     extern double strtod(const char *, char **);
     extern long int strtol(const char *, char **, int);
     extern unsigned long int strtoul(const char *, char **, int);
     extern int rand(void);
     extern void srand(unsigned int);
     extern int atexit(void (*) (void));
     extern void exit(int);
     extern char *getenv(const char *);
     extern int system(const char *);

       extern int abs(int);





     extern div_t div(int, int);
     extern ldiv_t ldiv(long int, long int);
     extern long int labs(long int);
     extern int mblen(const char *, size_t);
     extern int mbtowc(wchar_t *, const char *, size_t);
     extern int wctomb(char *, wchar_t);
     extern size_t mbstowcs(wchar_t *, const char *, size_t);
     extern size_t wcstombs(char *, const wchar_t *, size_t);
     extern void free(void *);
     extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *));
# 112 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdlib.h" 3










       extern void abort(void);
       extern void *bsearch(const void *, const void *, size_t, size_t, int (*) (const void *, const void *));
       extern void *calloc(size_t, size_t);
       extern void *malloc(size_t);
       extern void *realloc(void *, size_t);














     extern void setkey(const char *);
     extern void lcong48( unsigned short [] );









     extern double drand48(void);
     extern double erand48(unsigned short []);
     extern long jrand48(unsigned short []);
     extern long lrand48(void);
     extern long mrand48(void);
     extern long nrand48(unsigned short []);
     extern void srand48(long);
     extern unsigned short *seed48(unsigned short []);
     extern int putenv(const char *);
# 171 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdlib.h" 3






    extern int clearenv(void);
    extern int getopt(int, char * const [], const char *);
    extern char *getpass(const char *);






  extern char *optarg;
  extern int optind;
  extern int opterr;




 













   
  struct mallinfo  {
	int arena;	 
	int ordblks;	 
	int smblks;	 
	int hblks;	 
	int hblkhd;	 
	int usmblks;	 
	int fsmblks;	 
	int uordblks;	 
	int fordblks;	 
	int keepcost;	 
  };	




     typedef struct {
       unsigned int word1, word2, word3, word4;
     } long_double;




# 1 "/usr/include/pwd.h" 1 3
 















     typedef long gid_t;




     typedef long uid_t;


   struct passwd {
	char	*pw_name;
	char 	*pw_passwd;




	uid_t	pw_uid;
	gid_t	pw_gid;

	char 	*pw_age;
	char	*pw_comment;
	char	*pw_gecos;
	char	*pw_dir;
	char	*pw_shell;
	long	pw_audid;
	int	pw_audflg;
   };


     extern struct passwd *getpwuid(uid_t);
     extern struct passwd *getpwnam(const char *);







   struct s_passwd {
       char    *pw_name;
       char    *pw_passwd;
       char    *pw_age;
       long     pw_audid;
       int     pw_audflg;
   };




# 1 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdio.h" 1 3

# 1 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdarg.h" 1 3
 






















# 1 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/va-pa.h" 1 3

 




typedef double *__gnuc_va_list;


 

# 49 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/va-pa.h" 3

# 24 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdarg.h" 2 3

# 98 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdarg.h" 3





# 156 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdarg.h" 3




# 2 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdio.h" 2 3

 

















 


   typedef struct {
	int		 __cnt;
	unsigned char	*__ptr;
	unsigned char	*__base;
	unsigned short	 __flag;
	unsigned char 	 __fileL;		 
	unsigned char 	 __fileH;		 
   } FILE;

   typedef struct {
	int		 __cnt;
	unsigned char	*__ptr;
	unsigned char	*__base;
	unsigned short	 __flag;
	unsigned char 	 __fileL;		 
	unsigned char 	 __fileH;		 
	unsigned char	*__bufendp;	 
	unsigned char	 __smbuf[8 ];  
   } _FILEX;

 

























   typedef long int fpos_t;






     typedef double *__va_list;























   




   extern FILE __iob[];


     extern int remove(const char *);
     extern int rename(const char *, const char *);
     extern FILE *tmpfile(void);
     extern char *tmpnam(char *);
     extern int fclose(FILE *);
     extern int fflush(FILE *);
     extern FILE *fopen(const char *, const char *);
     extern FILE *freopen(const char *, const char *, FILE *);
     extern void setbuf(FILE *, char *);
     extern int setvbuf(FILE *, char *, int, size_t);
     extern int fprintf(FILE *, const char *, ...);
     extern int fscanf(FILE *, const char *,...);
     extern int printf(const char *,...);
     extern int scanf(const char *,...);
     extern int sprintf(char *, const char *,...);
     extern int sscanf(const char *, const char *,...);
     extern int vprintf(const char *, __gnuc_va_list);
     extern int vfprintf(FILE *, const char *, __gnuc_va_list);
     extern int vsprintf(char *, const char *, __gnuc_va_list);
     extern int fgetc(FILE *);
     extern char *fgets(char *, int, FILE *);
     extern int fputc(int, FILE *);
     extern int fputs(const char *, FILE *);
     extern int getc(FILE *);
     extern int getchar(void);
     extern char *gets(char *);
     extern int putc(int, FILE *);
     extern int putchar(int);
     extern int puts(const char *);
     extern int ungetc(int, FILE *);
     extern int fgetpos(FILE *, fpos_t *);
     extern int fseek(FILE *, long int, int);
     extern int fsetpos(FILE *, const fpos_t *);
     extern long int ftell(FILE *);
     extern void rewind(FILE *);
     extern void clearerr(FILE *);
     extern int feof(FILE *);
     extern int ferror(FILE *);
     extern void perror(const char *);
# 188 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdio.h" 3







       extern size_t fread(void *, size_t, size_t, FILE *);
       extern size_t fwrite(const void *, size_t, size_t, FILE *);






 







     extern int __flsbuf(unsigned char, FILE *);
     extern int __filbuf(FILE *);




  






















     extern char *ctermid(char *);
     extern int fileno(FILE *);
     extern FILE *fdopen(int, const char *);




















         typedef double *__va_list__;



     extern char *optarg;
     extern int opterr;
     extern int optind;
     extern int optopt;


       extern int getopt(int, char * const [], const char *);
       extern char *cuserid(char *);











     extern int getw(FILE *);
     extern int putw(int, FILE *);
     extern int pclose(FILE *);
     extern FILE *popen(const char *, const char *);
     extern char *tempnam(const char *, const char *);















     extern int nl_fprintf(FILE *, const char * ,...);
     extern int nl_fscanf(FILE *, const char * ,...);
     extern int nl_printf(const char * ,...);
     extern int nl_scanf(const char * ,...);
     extern int nl_sprintf(char *, const char * ,...);
     extern int nl_sscanf(const char *, const char * ,...);
     extern int vscanf(const char *, __gnuc_va_list);
     extern int vfscanf(FILE *, const char *, __gnuc_va_list);
     extern int vsscanf(char *, const char *, __gnuc_va_list);







   extern unsigned char *__bufendtab[];


















# 65 "/usr/include/pwd.h" 2 3



     extern void setpwent(void);
     extern void endpwent(void);
     extern struct passwd *getpwent(void);
     extern struct passwd *fgetpwent(FILE *);
     extern struct s_passwd *getspwent(void);
     extern struct s_passwd *getspwuid(int);
     extern struct s_passwd *getspwaid(int);
     extern struct s_passwd *getspwnam(char *);
     extern struct s_passwd *fgetspwent(FILE *);
# 87 "/usr/include/pwd.h" 3












# 231 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdlib.h" 2 3




# 1 "/usr/include/errno.h" 1 3
 







extern int errno;
# 1 "/usr/include/sys/errno.h" 1 3
 




 











    





         extern int errno;





    






 







































 









 




 




 




























 



 








 

 














	 































# 204 "/usr/include/sys/errno.h" 3



# 10 "/usr/include/errno.h" 2 3


# 21 "/usr/include/errno.h" 3




# 235 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdlib.h" 2 3



     extern const char *fcvt(double, size_t, int *, int *);
     extern char *gcvt(double, size_t, char *);
     extern char *ecvt(double, size_t, int *, int *);
     extern char *nl_gcvt(double, size_t, char *, int);
     extern char *_ldecvt(long_double, size_t, int *, int *);
     extern char *_ldfcvt(long_double, size_t, int *, int *);
     extern char *_ldgcvt(long_double, size_t, char *);
     extern int getpw(int, char *);
     extern long a64l(const char *);
     extern char *l64a(long);
     extern void l3tol(long *, const char *, int);
     extern void ltol3(char *, const long *, int);
     extern double nl_atof(const char *, int);
     extern double nl_strtod(const char *, char **, int);
     extern char *ltostr(long, int);
     extern char *ultostr(unsigned long, int);
     extern char *ltoa(long);
     extern char *ultoa(unsigned long);
     extern void memorymap(int);
     extern struct mallinfo mallinfo(void);
     extern int mallopt(int, int);
     extern long_double strtold(const char *, char **);
# 276 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdlib.h" 3









# 110 "/acad/ads/adslib.h" 2

# 142 "/acad/ads/adslib.h"


# 1 "/acad/ads/ads.h" 1
 





























 









 






 

typedef double ads_real;

 


typedef ads_real ads_point[3];
typedef long ads_name[2];

 

typedef ads_real ads_matrix[4][4];

 




 


 


 












 

struct ads_binary {                    
    short clen;                        
    char *buf;                         
};

 
 
union ads_u_val {
   ads_real rreal;
   ads_real rpoint[3];
   short rint;
   char *rstring;
   long rlname[2];
   long rlong;   
   struct ads_binary rbinary;
}; 
 
 




struct resbuf {                                                  
        struct resbuf *rbnext;         
        short restype;
        union ads_u_val resval;
};

 

 
void           ads_init  (int argc, char *argv[])  ;

 
void           ads_fail  (const char *str)  ;

 
void           ads_abort  (const char *str)  ;

 
void           ads_exit  (int status)  ;

 
int            ads_regfunc  (int (*fhdl) (void), int fcode)  ;

 
int            ads_link  (int cbc)  ;

 
struct resbuf *ads_newrb  (int v)  ;

 
int            ads_relrb  (struct resbuf *rb)  ;

 
int            ads_usrbrk  (void)  ;


 
int            ads_defun  (const char *sname, short funcno)  ;

 
int            ads_undef  (const char *sname, short funcno)  ;

 
int            ads_getfuncode  (void)  ;
struct resbuf *ads_getargs  (void)  ;

 
int            ads_retlist  (const struct resbuf *rbuf)  ;
int            ads_retval  (const struct resbuf *rbuf)  ;
int            ads_retpoint  (const ads_point pt)  ;
int            ads_retstr  (const char *s)  ;
int            ads_retname  (const ads_name aname, int type)  ;
int            ads_retint  (int ival)  ;
int            ads_retreal  (ads_real rval)  ;
int            ads_rett  (void)  ;
int            ads_retnil  (void)  ;
int            ads_retvoid  (void)  ;


 

int            ads_entdel  (const ads_name ent)  ;
struct resbuf *ads_entgetx  (const ads_name ent, const struct resbuf *args)  ;
struct resbuf *ads_entget  (const ads_name ent)  ;
int            ads_entlast  (ads_name result)  ;
int            ads_entnext  (const ads_name ent, ads_name result)  ;
int            ads_entupd  (const ads_name ent)  ;
int            ads_entmod  (const struct resbuf *ent)  ;
int            ads_entmake  (const struct resbuf *ent)  ;
int            ads_entsel  (const char *str, ads_name entres,
                             ads_point ptres)  ;
int            ads_nentsel  (const char *str, ads_name entres,
                              ads_point ptres, ads_point xformres[4],
                              struct resbuf **refstkres)  ;
int            ads_nentselp  (const char *str, ads_name entres,
                              ads_point ptres, int pickflag,
                              ads_matrix xformres,
                              struct resbuf **refstkres)  ;
int            ads_ssget  (const char *str, const void *pt1,
                            const ads_point pt2, const struct resbuf *filter,
                            ads_name ss)  ;
int            ads_ssfree  (const ads_name sname)  ;
int            ads_sslength  (const ads_name sname, long *len)  ;
int            ads_ssadd  (const ads_name ename, const ads_name sname,
                            ads_name result)  ;
int            ads_ssdel  (const ads_name ename, const ads_name ss)  ;
int            ads_ssmemb  (const ads_name ename, const ads_name ss)  ;
int            ads_ssname  (const ads_name ss, long i, ads_name entres)  ;

 
int            ads_xdroom  (const ads_name ent, long *result)  ;
int            ads_xdsize  (const struct resbuf *rb, long *result)  ;

 
struct resbuf *ads_tblnext  (const char *tblname, int rewind)  ;
struct resbuf *ads_tblsearch  (const char *tblname, const char *sym,
                                int setnext)  ;

 
int            ads_handent  (const char *handle, ads_name entres)  ;
int            ads_trans  (const ads_point pt, const struct resbuf *from,
                            const struct resbuf *to, int disp,
                            ads_point result)  ;

 
int            ads_angtos  (ads_real v, int unit, int prec, char *str)  ;
int            ads_cvunit  (ads_real value, const char *oldunit,
                             const char *newunit, ads_real *result)  ;
int            ads_wcmatch  (const char *string, const char *pattern)  ;
int            ads_rtos  (ads_real val, int unit, int prec, char *str)  ;
int            ads_angtof  (const char *str, int unit, ads_real *v)  ;
int            ads_distof  (const char *str, int unit, ads_real *v)  ;
int            ads_setvar  (const char *sym, const struct resbuf *val)  ;
int            ads_initget  (int val, const char *kwl)  ;

int            ads_getsym  (const char *sname, struct resbuf **value)  ;
int            ads_putsym  (const char *sname, struct resbuf *value)  ;
struct resbuf  *ads_loaded  (void)  ;
int            ads_xload  (const char *app)  ;
int            ads_xunload  (const char *app)  ;





int            ads_command  (int rtype, ...)  ;
struct resbuf *ads_buildlist  (int rtype, ...)  ;
int            ads_printf  (const char *format, ...)  ;

int            ads_cmd  (const struct resbuf *rbp)  ;
int            ads_invoke  (const struct resbuf *args,
                             struct resbuf **result)  ;
int            ads_inters  (const ads_point from1, const ads_point to1,
                             const ads_point from2, const ads_point to2,
                             int teston, ads_point result)  ;

 
int            ads_getvar  (const char *sym, struct resbuf *result)  ;
int            ads_findfile  (const char *fname, char *result)  ;

 
int            ads_getstring  (int cronly, const char *prompt, char *result)  ;

 
int            ads_menucmd  (const char *str)  ;
int            ads_prompt  (const char *str)  ;
int            ads_alert  (const char *str)  ;

 
int            ads_regapp  (const char *appname)  ;

 
int            ads_getangle  (const ads_point pt, const char *prompt,
                               ads_real *result)  ;
int            ads_getcorner  (const ads_point pt, const char *prompt,
                                ads_point result)  ;
int            ads_getdist  (const ads_point pt, const char *prompt,
                              ads_real *result)  ;
int            ads_getorient  (const ads_point pt, const char *prompt,
                                ads_real *result)  ;
int            ads_getpoint  (const ads_point pt, const char *prompt,
                               ads_point result)  ;
int            ads_getint  (const char *prompt, int *result)  ;
int            ads_getkword  (const char *prompt, char *result)  ;
int            ads_getreal  (const char *prompt, ads_real *result)  ;
int            ads_getinput  (char *str)  ;
int            ads_vports  (struct resbuf **vlist)  ;

 
int            ads_textscr  (void)  ;
int            ads_graphscr  (void)  ;
int            ads_textpage  (void)  ;

 
int            ads_grclear  (void)  ;
int            ads_redraw  (const ads_name ent, int mode)  ;
int            ads_osnap  (const ads_point pt, const char *mode,
                            ads_point result)  ;
int            ads_grread  (int track, int *type, struct resbuf *result)  ;
int            ads_grtext  (int box, const char *text, int hl)  ;
int            ads_grdraw  (const ads_point from, const ads_point to,
                             int color, int hl)  ;
int            ads_grvecs  (const struct resbuf *vlist, ads_matrix mat)  ;
int            ads_xformss  (const ads_name ssname,
                              ads_matrix genmat)  ;
int            ads_draggen  (const ads_name ss, const char *pmt, int cursor,
                              int (*scnf)  (ads_point pt, ads_matrix mt)  ,
                              ads_point p)  ;

 
ads_real       ads_angle  (const ads_point pt1, const ads_point pt2)  ;
ads_real       ads_distance  (const ads_point pt1, const ads_point pt2)  ;
void           ads_polar  (const ads_point pt, ads_real angle,
                            ads_real dist, ads_point ptres)  ;

 
int            ads_getfiled  (const char *title, const char *defawlt,
                               const char *ext, int flags,
                               struct resbuf *result)  ;

int            ads_textbox  (const struct resbuf *args,
                              ads_point pt1, ads_point pt2)  ;

 
int            ads_tablet   (const struct resbuf *args,
                              struct resbuf **result)  ;

 
int            ads_recfgport  (int *idvc, int iotype, int baudrate,
                                int parity, int databits, int stopbits,
                                int hhflag, char *devname)  ;
void           ads_adiinfo    (void *dsinfoptr)  ;
void           ads_dscfg      (void *dspktptr)  ;
void           ads_dsxqt      (void *dspktptr)  ;
void           ads_dispt      (void *dspktptr)  ;
void           ads_adistart   (void *dsactptr)  ;
void           ads_adiend     (void *dsactptr)  ;






 
int            ads_isalpha  (int c)  ;
int            ads_isupper  (int c)  ;
int            ads_islower  (int c)  ;
int            ads_isdigit  (int c)  ;
int            ads_isxdigit  (int c)  ;
int            ads_isspace  (int c)  ;
int            ads_ispunct  (int c)  ;
int            ads_isalnum  (int c)  ;
int            ads_isprint  (int c)  ;
int            ads_isgraph  (int c)  ;
int            ads_iscntrl  (int c)  ;
int            ads_toupper  (int c)  ;
int            ads_tolower  (int c)  ;

 


typedef ads_real *ads_pointp;
typedef long     *ads_namep;

 









 














 









# 144 "/acad/ads/adslib.h" 2

# 1 "/acad/ads/adscodes.h" 1
 

 

























 






 






 




 
 
 
 
     




 



















 





 

 
 





 


# 145 "/acad/ads/adslib.h" 2









# 12 "oconfig.h" 2




 












int genf  (struct resbuf *)  ;
int idma  ()  ;
int ipost  ()  ;
int post  ()  ;
int plist  ()  ;
int psync  ()  ;



 







 




# 1 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdio.h" 1 3

# 1 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdarg.h" 1 3
 






















# 1 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/va-pa.h" 1 3

 







 

# 49 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/va-pa.h" 3

# 24 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdarg.h" 2 3

# 98 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdarg.h" 3





# 156 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdarg.h" 3




# 2 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdio.h" 2 3

 
# 340 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/stdio.h" 3

# 51 "oconfig.h" 2

# 1 "/usr/include/strings.h" 1 3
 



 





# 1 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/string.h" 1 3
 






















     extern int memcmp(const void *, const void *, size_t);
     extern char *strncat(char *, const char *, size_t);
     extern int strncmp(const char *, const char *, size_t);
     extern void *memmove(void *, const void *, size_t);
     extern char *strcpy(char *, const char *);
     extern char *strncpy(char *, const char *, size_t);
     extern char *strcat(char *, const char *);
     extern int strcmp(const char *, const char *);
     extern int strcoll(const char *, const char *);
     extern size_t strxfrm(char *, const char *, size_t);
     extern char *strchr(const char *, int);
     extern char *strpbrk(const char *, const char *);
     extern char *strrchr(const char *, int);
     extern char *strstr(const char *, const char *);
     extern char *strtok(char *, const char *);
     extern char *strerror(int);
# 57 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/string.h" 3











       extern void *memcpy(void *, const void *, size_t);
       extern void *memchr(const void *, int, size_t);
       extern void *memset(void *, int, size_t);
       extern size_t strcspn(const char *, const char *);
       extern size_t strspn(const char *, const char *);



          extern size_t strlen(const char *);

















       extern void *memccpy(void *, const void *, int, size_t);



















     extern char *strrstr(const char *, const char *);
     extern int strcasecmp(const char *, const char *);
     extern int strncasecmp(const char *, const char *, size_t);
     extern char *strdup(const char *);
     extern int nl_strcmp(const char *, const char *);
     extern int nl_strncmp(const char *, const char *, size_t);















# 11 "/usr/include/strings.h" 2 3









     extern char *index(const char *, char);
     extern char *rindex(const char *, char);
     extern void bcopy(const char *, char *, int);
     extern int bcmp(const char *, const char *, int);
     extern void bzero(char *, int);
     extern int ffs(int);















# 52 "oconfig.h" 2


# 1 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/math.h" 1 3
 











# 27 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/math.h" 3







     extern double acos(double);
     extern double asin(double);
     extern double atan(double);
     extern double atan2(double, double);
     extern double cos(double);
     extern double sin(double);
     extern double tan(double);
 

     extern double acosd(double);
     extern double asind(double);
     extern double atand(double);
     extern double atan2d(double, double);
     extern double cosd(double);
     extern double sind(double);
     extern double tand(double);

     extern double cosh(double);
     extern double sinh(double);
     extern double tanh(double);

     extern double acosh(double);
     extern double asinh(double);
     extern double atanh(double);

     extern double exp(double);
     extern double frexp(double, int *);
     extern double ldexp(double, int);
     extern double log(double);
     extern double log10(double);

     extern double log2(double);

     extern double modf(double, double *);
     extern double pow(double, double);








     extern double sqrt(double);
     extern double ceil(double);
     extern double fabs(double);
     extern double floor(double);
     extern double fmod(double, double);


 








     extern float acosf( float);
     extern float asinf( float);
     extern float atanf( float);
     extern float atan2f( float, float);
     extern float cosf( float);
     extern float sinf( float);
     extern float tanf( float);
     extern float sinhf( float);     
     extern float coshf( float);
     extern float tanhf( float);
     extern float acosdf( float);
     extern float asindf( float);
     extern float atandf( float);
     extern float atan2df( float, float);
     extern float cosdf( float);
     extern float sindf( float);
     extern float tandf( float);
     extern float expf( float);
     extern float fabsf( float);
     extern float logf( float);
     extern float log10f( float);
     extern float log2f( float);
     extern float powf( float, float );
     extern float sqrtf(float);
     extern float fmodf(float,float);

 





     extern double rint(double);
     extern int    finite(double);
     extern int    finitef(float);
     extern double copysign(double,double);
     extern float  copysignf(float,float);
     extern double scalb(double,int);
     extern int    logb(double);
     extern double drem(double, double);



# 186 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/math.h" 3





 























     extern double erf(double);
     extern double erfc(double);
     extern double gamma(double);
     extern double lgamma(double);
     extern int    isnan(double);

     extern int    isnanf(float);
     extern int    isinf(double);
     extern int    isinff(float);

     extern double hypot(double, double);
     extern double j0(double);
     extern double j1(double);
     extern double jn(int, double);
     extern double y0(double);
     extern double y1(double);
     extern double yn(int, double);
# 246 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/math.h" 3


   extern int signgam;














   struct exception {
	int type;
	char *name;
	double arg1;
	double arg2;
	double retval;
   };

   extern int errno;








struct exception;
     extern int matherr(struct exception *);
     extern double cabs();




# 295 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/math.h" 3























 
 
 

 













     extern int fpclassify(double);
     extern int fpclassifyf(float);
     extern int isnan(double);
     extern int isnanf(float);





 
 
 

 

typedef long fp_control;
typedef int fp_except;
typedef enum {
    FP_RZ=0,
    FP_RN,
    FP_RP,
    FP_RM 
    } fp_rnd;


extern fp_rnd fpgetround(void);
extern fp_rnd fpsetround(fp_rnd);






 






                             
extern fp_except fpgetmask();


extern fp_except fpgetmask(void);
extern fp_except fpsetmask(fp_except);
extern fp_except fpgetsticky(void);
extern fp_except fpsetsticky(fp_except);  






                        
 









extern void       fpsetdefaults(void);
extern int        fpgetfastmode(void);
extern int        fpsetfastmode(int);
extern fp_control fpgetcontrol(void);
extern fp_control fpsetcontrol(fp_control);








 























# 448 "/usr/local/lib/gcc-lib/hppa1.1-hp-hpux9.03/2.6.3/include/math.h" 3






# 54 "oconfig.h" 2










int	set_space(const char *);
void 	print_restype(struct resbuf *);
void 	print_restype_list(struct resbuf *);
void 	print_3dpt(const char *, struct resbuf *);
void 	print_resbuf(struct resbuf *);
void 	print_resbuf_list(struct resbuf *);
int 	get_resbuf_val(union ads_u_val *, struct resbuf *, short);
int 	has_dxf_code(struct resbuf *, short);
int 	has_extended_data(ads_name);
int 	get_dxf_strval(struct resbuf *, short, char *);
int 	get_dxf_intval(struct resbuf *, short, short *);
int 	put_dxf_strval(struct resbuf *, short, char *);
int     get_attribute(ads_name, const char *, char *);
void	idma_ent(ads_name);
void	idma_set(ads_name);


typedef struct postitem {
	short 	number;
	char	name[255 +1]; 
	char	bin_no[255 +1], description[255 +1], manufacturer[255 +1],    
		part_number[255 +1], component_name[255 +1], supplier[255 +1], quantity[255 +1];
	struct 	postitem *next;
} PostItem;


PostItem *find_postitem_by_number(PostItem *, long);
PostItem *find_postitem_by_name(PostItem *, const char *);
void 	 print_postitem(PostItem *p, int verbose) {
PostItem *get_postitem_data(void);

# 7 "omain.c" 2



typedef struct exfunc { 
	char *name; 
	int (*pntr)  (struct resbuf *)  ; 
} ExFunc;

ExFunc exfun[] = { {"c:genf",genf},{"c:idma",idma},{"c:ipost",ipost},{"c:post",post},{"c:plist",plist},{"c:psync",psync},  };


static int loadfuncs();
static int unloadfuncs();
static int dofuncs();



void main(int argc, char *argv[]) {

    int stat;
    short scode=1 ;		 

    ads_init(argc, argv);	 

    for (;;) {

        if ((stat=ads_link(scode))<0) {
             
            printf("TEMPLATE: bad status from ads_link()=%d\n",stat); fflush((&__iob[1]) ); exit(1);
        }

        scode=1 ;	 

        switch (stat) {

	 
        case 100 :                
            scode = (loadfuncs()==5100 ) ? 1  : 3 ;
	    ads_printf("OK.\n");
            break;

	 
        case 102 :
	    scode = (dofuncs()==5100 ) ? 1  : 3 ;
            break;

	 
        case 101 :                 
	    scode = (unloadfuncs()==5100 ) ? 1  : 3 ;
	    ads_printf("OK.\n");
            break;

	 
        case 14 :                  
	    ads_printf("Save request.\n");
            break;

	 
        case 16 :
	    ads_printf("Quit request.\n");
            break;

	 
        case 15 :
	    ads_printf("End request.\n");
            break;

        default:
	    ads_printf("Unknown request?\n");
            break;
        }
    }
}



 
static int loadfuncs() {

	int i;

	for (i=0; i<(sizeof( exfun )/sizeof(( exfun )[0])) ; ++i) {
		ads_printf("\n%s\n",exfun[i].name);
		if (!ads_defun(exfun[i].name,i)) {
			ads_printf("ACK! Couldn't defun \"%s\"\n",exfun[i].name); return -5001 ;
		}
	} 
	return 5100 ;
}



 
static int unloadfuncs() {

	int i;

	for (i=0; i<(sizeof( exfun )/sizeof(( exfun )[0])) ; ++i) {
		ads_printf("\n%s\n",exfun[i].name);
		if (!ads_undef(exfun[i].name,i)) {
			ads_printf("ACK! Couldn't undef \"%s\"\n",exfun[i].name); return -5001 ;
		}
	} 
	return 5100 ;
}



 
static int dofuncs() {

	int fun,res;
	struct resbuf *rb=ads_getargs();

	if ((fun=ads_getfuncode())<0 || fun>=(sizeof( exfun )/sizeof(( exfun )[0])) ) {
		ads_fail("Nonexisting function code."); return -5001 ;
	}

	res=(*exfun[fun].pntr)(rb); ads_relrb(rb); return res;
}
Technical Details
Message-ID: <9601081210.AA17863@sun4nl.NL.net>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 113d02,2235ef5cb8658369,start
X-Google-Attributes: gid113d02,public
From: harold@hoyte.NL
Subject: bugreport
Date: 1996/01/08
Message-ID: <9601081210.AA17863@sun4nl.NL.net>
X-Deja-AN: 134453583
distribution: gnu
sender: daemon@cis.ohio-state.edu
organization: GNUs Not Usenet
newsgroups: gnu.gcc.bug