### SPAR <http://www.cpan.org/scripts/>
### 1 644 1329052295 1329052295 is_relevant.pl
have_cc
### 11 755 1164319503 1342866383 makepp_test_script.pl
makepp;
my $correct=9;
my $count=0;
n_files 0, sub { $count++ if /File\s+warn_header/ };
c_echo '-ox2', $count == $correct ?
'OK' :
"Warning \"File warn_header ...\" occured $count/$correct times, see C.pm";
1;
### 23 644 1079144736 1186282528 Makeppfile
_OBJ_SUFFIX := $(filter %cl %cl.exe %bcc32 %bcc32.exe, $(CC))
ifdef _OBJ_SUFFIX
_OBJ_SUFFIX := .obj
else
_OBJ_SUFFIX := .o
endif
$(phony default): main1 main2
perl { Mpp::Cmds::c_cp 'answers/x1' unless -e 'x1' }
perl { Mpp::Cmds::c_cp 'answers/x3' unless -e 'x3' }
%$(_OBJ_SUFFIX): %.c
:smartscan
$(CC) $(CFLAGS) $(CPPFLAGS) -c $(input) -o $(output)
b.h:
&echo "NOK" -o x1
wrong.h:
&echo "INCLUDE WRONG FILE" -o x2
wrong_header:
&echo "INCLUDE WRONG FILE" -o x3
### 4 644 1079140748 1079140593 a1.h
#if 0
# include "b.h"
#endif
#define A 1
### 62 644 1079140748 1079140593 a2.h
#define FUNNY(x2) x2
#if FUNNY(1)
#include "warn_header" //1
#elif FUNNY(2)
#include "warn_header" //2
#else
#include "warn_header" //3
#endif
#if 1
#include "corr.h"
#elif FUNNY(3)
#include "wrong.h"
#else
#include "wrong.h"
#endif
#if 0
#include "wrong.h"
#elif FUNNY(4)
#include "warn_header" //4
#else
#include "warn_header" //5
#endif
#if FUNNY(5)
#include "warn_header" //6
#elif 1
#include "warn_header" //7
#else
#include "wrong.h"
#endif
#if FUNNY(6)
#include "warn_header" //8
#elif 0
#include "wrong.h"
#else
#include "warn_header" //9
#endif
#if 1
#define C1 1
#elif 0
#include "wrong.h"
#else
#include "wrong.h"
#endif
#if 0
#include "wrong.h"
#elif 1
#define C2 1
#else
#include "wrong.h"
#endif
#if 0
#include "wrong.h"
#elif 0
#include "wrong.h"
#else
#define C3 1
#endif
#if C1 && C2 && C3
#include "corr.h"
#else
#include "wrong.h"
#endif
### 2 644 1079140748 1079140593 corr.h
#define FALSE 0
#define TRUE 1
### 1 644 1079140748 1079140593 warn_header
#define C 1
### 47 644 1079140748 1079140593 gcc_header.h
#define C1 1 /* comment */
#define /* comment */ C2 1
#define C3 /* comment */ 1
#define C4 /*
*/ 1
// #include "wrong_header"
/*
/* #include "wrong_header" */
/*
// #include "wrong_header" */
/*
#include "wrong_header"
*/
/* //some/comment */
#define C5/**/1
/* */#define C6 1/**/
#define /*
*/C7/*
*/1
#define C8 \
1 /*
*/
/*
// */#define C9 1
// This comment continues on the next line, \
so don't be a fool and undef C9 \
#undef C9
#define C10 \ /* Not a continuation line */
#define C11 1
#if C1 && C2 && C3 && C4 && C5 && C6 && C7 && C8 && C9 && defined(C10) & C11
#include "corr3.h"
#else
#include "wrong_header"
#endif
#if 1 \
&& 1 \
&& A
#include "wrong_header"
#endif
#ifndef C1 /* */
#include "wrong_header"
#endif
#ifndef C3
#include "wrong_header"
#endif
/*
#include "wrong_header" //comm */
### 39 644 1079140748 1079140593 cc_header.h
#define C1 1 /* comment */
#define /* comment */ C2 1
#define C3 /* comment */ 1
#define C4 /*
*/ 1
/*
#include "wrong_header" */
/*
#include "wrong_header"
*/
/* //some/comment */
#define C5/*comm*/1
/* comm*/#define C6 1/*comm*/
#define /*
*/C7/*
*/1
#define C8 \
1 /*
*/
/*
*/#define C9 1
#if C1 && C2 && C3 && C4 && C5 && C6 && C7 && C8 && C9
#include "corr3.h"
#else
#include "wrong_header"
#endif
#if 1 \
&& 1 \
&& A
#include "wrong_header"
#endif
#ifndef C1 /* */
#include "wrong_header"
#endif
#ifndef C3
#include "wrong_header"
#endif
/*
#include "wrong_header" //comm */
### 1 644 1079140748 1079140593 corr3.h
#define A 0
### 8 644 1079140745 1079140626 main1.c
#include "a1.h"
int main() {
#if A
return 0;
#endif
return 1;
}
### 4 644 1079140745 1079140626 main2.c
#include "a2.h"
int main() {
return 0;
}
### 8 644 1079140745 1079140626 main3.c
#ifdef __GNUC__
#include "gcc_header.h"
#else
#include "cc_header.h"
#endif
int main() {
return 0;
}
### D 755 1079144793 1079144618 answers
### 1 644 1079144618 1079144618 answers/x1
OK
### 1 644 1079144618 1079144618 answers/x2
OK
### 1 644 1079144618 1079144618 answers/x3
OK