150
|
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
|
|
35 int foo() {
|
|
36 y a = x;
|
|
37 return x + a - z;
|
|
38 }
|
|
39
|
|
40 <<<<<<<>>>>>>> // expected-error {{expected identifier}}
|