diff options
Diffstat (limited to 'clang/test/Lexer/conflict-marker.c')
-rw-r--r-- | clang/test/Lexer/conflict-marker.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/clang/test/Lexer/conflict-marker.c b/clang/test/Lexer/conflict-marker.c new file mode 100644 index 0000000..2a8e43b --- /dev/null +++ b/clang/test/Lexer/conflict-marker.c @@ -0,0 +1,38 @@ +// RUN: %clang_cc1 %s -verify -fsyntax-only + +// Test that we recover gracefully from conflict markers left in input files. +// PR5238 + +// diff3 style +<<<<<<< .mine // expected-error {{version control conflict marker in file}} +int x = 4; +||||||| +int x = 123; +======= +float x = 17; +>>>>>>> .r91107 + +// normal style. +<<<<<<< .mine // expected-error {{version control conflict marker in file}} +typedef int y; +======= +typedef struct foo *y; +>>>>>>> .r91107 + +// Perforce style. +>>>> ORIGINAL conflict-marker.c#6 // expected-error {{version control conflict marker in file}} +int z = 1; +==== THEIRS conflict-marker.c#7 +int z = 0; +==== YOURS conflict-marker.c +int z = 2; +<<<< + +; +y b; + + +int foo() { + y a = x; + return x + a - z; +} |