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}} |
41 | |