SCCS-vsn: old/dbx/printsym.c 5.2
SCCS-vsn: old/dbx/symbols.c 5.2
-static char sccsid[] = "@(#)printsym.c 5.1 (Berkeley) %G%";
+static char sccsid[] = "@(#)printsym.c 5.2 (Berkeley) %G%";
#endif not lint
static char rcsid[] = "$Header: printsym.c,v 1.5 84/12/26 10:41:28 linton Exp $";
#endif not lint
static char rcsid[] = "$Header: printsym.c,v 1.5 84/12/26 10:41:28 linton Exp $";
if (isambiguous(s) and ismodule(container(s))) {
printname(stdout, s);
if (isambiguous(s) and ismodule(container(s))) {
printname(stdout, s);
addr = address(s, frame);
}
len = size(s);
addr = address(s, frame);
}
len = size(s);
- if (canpush(len)) {
- rpush(addr, len);
+ if (not canpush(len)) {
+ printf("*** expression too large ***");
+ } else if (isreg(s)) {
+ push(Address, addr);
printval(s->type);
} else {
printval(s->type);
} else {
- printf("*** expression too large ***");
+ rpush(addr, len);
+ printval(s->type);
default:
if (t->language == nil or t->language == primlang) {
default:
if (t->language == nil or t->language == primlang) {
- (*language_op(findlanguage(".c"), L_PRINTVAL))(t);
+ (*language_op(findlanguage(".s"), L_PRINTVAL))(t);
} else {
(*language_op(t->language, L_PRINTVAL))(t);
}
} else {
(*language_op(t->language, L_PRINTVAL))(t);
}
-static char sccsid[] = "@(#)symbols.c 5.1 (Berkeley) %G%";
+static char sccsid[] = "@(#)symbols.c 5.2 (Berkeley) %G%";
#endif not lint
static char rcsid[] = "$Header: symbols.c,v 1.6 84/12/26 10:42:31 linton Exp $";
#endif not lint
static char rcsid[] = "$Header: symbols.c,v 1.6 84/12/26 10:42:31 linton Exp $";
#define nosource(f) (not (f)->symvalue.funcv.src)
#define isinline(f) ((f)->symvalue.funcv.inline)
#define nosource(f) (not (f)->symvalue.funcv.src)
#define isinline(f) ((f)->symvalue.funcv.inline)
+#define isreg(s) (s->level < 0)
+
#define isglobal(s) (s->level == 1)
#define islocaloff(s) (s->level >= 2 and s->symvalue.offset < 0)
#define isparamoff(s) (s->level >= 2 and s->symvalue.offset >= 0)
#define isglobal(s) (s->level == 1)
#define islocaloff(s) (s->level >= 2 and s->symvalue.offset < 0)
#define isparamoff(s) (s->level >= 2 and s->symvalue.offset >= 0)
-#define isreg(s) (s->level < 0)
public Address address (s, frame)
Symbol s;
public Address address (s, frame)
Symbol s;