1 // { dg-do preprocess }
2 // { dg-additional-options -fmodule-header }
3 
4 #define frob FROB
5 
6 // this should be translated, if it isn't the above #define will break
7 // us
8 MARK1 __LINE__
9 #include  "legacy-3_a.H"
10 MARK2 __LINE__
11 int move (int X = __LINE__); // Capture __LINE__ in a non-definition
12 // this should also be translated, but elided too
13 MARK2 __LINE__
14 #include "legacy-3_a.H"
15 MARK3 __LINE__
16 
17 // this should not be translated
18 #include "legacy-3.h"
19 
20 // { dg-final { scan-file legacy-3_c.i {MARK1 8\nimport  "[^\n]*legacy-3_a.H" \[\[__translated\]\];\nMARK2 10\n} } }
21 // We should have stopped.
22 // { dg-final { scan-file legacy-3_c.i {move} } }
23 // { dg-final { scan-file legacy-3_c.i {MARK2 13\n\nMARK3 15\n} } }
24 // { dg-final { scan-file-not legacy-3_c.i {# [^\n]*legacy-3_a.H} } }
25 // { dg-final { scan-file legacy-3_c.i {# [^\n]*legacy-3.h} } }
26