diff options
Diffstat (limited to 'usr.bin/pcc/ccom/stabs.c')
-rw-r--r-- | usr.bin/pcc/ccom/stabs.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/usr.bin/pcc/ccom/stabs.c b/usr.bin/pcc/ccom/stabs.c index 78765545eff..e1e05518a31 100644 --- a/usr.bin/pcc/ccom/stabs.c +++ b/usr.bin/pcc/ccom/stabs.c @@ -1,4 +1,4 @@ -/* $OpenBSD: stabs.c,v 1.7 2008/04/11 20:45:52 stefan Exp $ */ +/* $OpenBSD: stabs.c,v 1.8 2008/08/17 18:40:13 ragge Exp $ */ /* * Copyright (c) 2004 Anders Magnusson (ragge@ludd.luth.se). @@ -308,6 +308,7 @@ printtype(struct symtab *s, char *ostr, int len) void stabs_newsym(struct symtab *s) { + extern int fun_inline; char *sname; char ostr[MAXPSTR]; int suesize; @@ -358,7 +359,10 @@ stabs_newsym(struct symtab *s) cprint(savestabs, "\t.stabs \"%s:r%s\",%d,0,%d,%d\n", sname, ostr, N_RSYM, 1, s->soffset); break; - + case SNULL: + if (fun_inline) + break; + /* FALLTHROUGH */ default: cerror("fix stab_newsym; class %d", s->sclass); } @@ -389,6 +393,9 @@ cprint(int p2, char *fmt, ...) va_list ap; char *str; + if (isinlining) + return; /* XXX do not save any inline functions currently */ + va_start(ap, fmt); if (p2) { str = tmpvsprintf(fmt, ap); |