1 // RUN: %clang_cc1 %s -verify -fsyntax-only
2 
3 // Test that we recover gracefully from conflict markers left in input files.
4 // PR5238
5 
6 // diff3 style  expected-error@+1 {{version control conflict marker in file}}
7 <<<<<<< .mine
8 int x = 4;
9 |||||||
10 int x = 123;
11 =======
12 float x = 17;
13 >>>>>>> .r91107
14 
15 // normal style  expected-error@+1 {{version control conflict marker in file}}
16 <<<<<<< .mine
17 typedef int y;
18 =======
19 typedef struct foo *y;
20 >>>>>>> .r91107
21 
22 // Perforce style  expected-error@+1 {{version control conflict marker in file}}
23 >>>> ORIGINAL conflict-marker.c#6
24 int z = 1;
25 ==== THEIRS conflict-marker.c#7
26 int z = 0;
27 ==== YOURS conflict-marker.c
28 int z = 2;
29 <<<<
30 
31 ;
32 y b;
33 
34 
foo()35 int foo() {
36   y a = x;
37   return x + a - z;
38 }
39 
40 <<<<<<<>>>>>>> // expected-error {{expected identifier}}
41