blob: 4004d21837715fd1bff4acb710edddb06dee8fa4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
/* Test "ignore redundant include" facility.
We must test with C comments, and null directives, outside
the guard conditional; also, we test guarding with #ifndef and #if
!defined. -H is used because cpp might confuse the issue by
optimizing out #line markers. This test only passes if each of the
headers is read exactly once.
The disgusting regexp in the dg-error line, when stuck into
dg.exp's compiler-output regexp, matches the correct -H output and
only the correct -H output. It has to be all on one line because
otherwise it will not be interpreted all in one unit. */
/* { dg-do compile }
{ dg-options "-H -traditional-cpp" }
{ dg-message "mi1c\.h\n\[^\n\]*mi1nd\.h\n\[^\n\]*mi1ndp\.h\n\[^\n\]*mi1x\.h" "redundant include check" { target *-*-* } 0 } */
#include "mi1c.h"
#include "mi1c.h"
#include "mi1c.h"
#include "mi1nd.h"
#include "mi1nd.h"
#include "mi1ndp.h"
#include "mi1ndp.h"
#define MIX_H
#include "mi1x.h"
#include "mi1x.h"
int
main (void)
{
return a + c + d;
}
|