aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/cpp/mi1.c
blob: 0e15c477e297506305a84927420da664ff6bd9dc (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
37
/* Test "ignore redundant include" facility.
   We must test with C and C++ comments outside the guard conditional;
   also, we test guarding with #ifndef and #if !defined.
   -H is used because cpp mi1ght 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" }
   { dg-error "mi1c\.h\n\[^\n\]*mi1cc\.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 "mi1cc.h"
#include "mi1cc.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 + b + c + d;
}