Article View: gnu.gcc.bug
Article #6287bugreport
From: harold
Date: Mon, 08 Jan 1996 00:00
Date: Mon, 08 Jan 1996 00:00
2655 lines
40629 bytes
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-mailShow 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