Home | History | Annotate | Download | only in Lexer
      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