Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
att
GitHub Repository: att/ast
Path: blob/master/src/lib/libpp/ppincref.c
1808 views
1
/***********************************************************************
2
* *
3
* This software is part of the ast package *
4
* Copyright (c) 1986-2011 AT&T Intellectual Property *
5
* and is licensed under the *
6
* Eclipse Public License, Version 1.0 *
7
* by AT&T Intellectual Property *
8
* *
9
* A copy of the License is available at *
10
* http://www.eclipse.org/org/documents/epl-v10.html *
11
* (with md5 checksum b35adb5213ca9657e911e9befb180842) *
12
* *
13
* Information and Software Systems Research *
14
* AT&T Research *
15
* Florham Park NJ *
16
* *
17
* Glenn Fowler <[email protected]> *
18
* *
19
***********************************************************************/
20
#pragma prototyped
21
/*
22
* Glenn Fowler
23
* AT&T Research
24
*
25
* common include reference handler
26
* the type arg is inclusive or of PP_SYNC_*
27
*/
28
29
#include "pplib.h"
30
31
void
32
ppincref(char* parent, char* file, int line, int type)
33
{
34
register struct ppinstk* sp;
35
int level;
36
37
NoP(parent);
38
NoP(line);
39
if (type & PP_SYNC_PUSH)
40
{
41
level = 0;
42
for (sp = pp.in; sp; sp = sp->prev)
43
if (sp->type == IN_FILE)
44
level++;
45
if (level > 0)
46
level--;
47
error(0, "%-*s%s", level * 4, "", file);
48
}
49
}
50
51