/***********************************************************************1* *2* This software is part of the ast package *3* Copyright (c) 1986-2011 AT&T Intellectual Property *4* and is licensed under the *5* Eclipse Public License, Version 1.0 *6* by AT&T Intellectual Property *7* *8* A copy of the License is available at *9* http://www.eclipse.org/org/documents/epl-v10.html *10* (with md5 checksum b35adb5213ca9657e911e9befb180842) *11* *12* Information and Software Systems Research *13* AT&T Research *14* Florham Park NJ *15* *16* Glenn Fowler <[email protected]> *17* *18***********************************************************************/19#pragma prototyped20/*21* Glenn Fowler22* AT&T Research23*24* common include reference handler25* the type arg is inclusive or of PP_SYNC_*26*/2728#include "pplib.h"2930void31ppincref(char* parent, char* file, int line, int type)32{33register struct ppinstk* sp;34int level;3536NoP(parent);37NoP(line);38if (type & PP_SYNC_PUSH)39{40level = 0;41for (sp = pp.in; sp; sp = sp->prev)42if (sp->type == IN_FILE)43level++;44if (level > 0)45level--;46error(0, "%-*s%s", level * 4, "", file);47}48}495051