Treat the Microsoft/Borland keyword "__except" as a context-sensitive
keyword, because both libstdc++ and libc++ use "__except" as an
identifier. Fixes <rdar://problem/10322555>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142636 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Sema/__try.c b/test/Sema/__try.c
index 5490aea..1641402 100644
--- a/test/Sema/__try.c
+++ b/test/Sema/__try.c
@@ -20,7 +20,7 @@
 
 #pragma sysheader end
 
-DWORD FilterExpression(int);
+DWORD FilterExpression(int); // expected-note{{declared here}}
 DWORD FilterExceptionInformation(struct EXCEPTION_INFO*);
 
 const char * NotFilterExpression();
@@ -47,7 +47,8 @@
 }  // expected-error{{expected '__except' or '__finally' block}}
 
 void TEST() {
-  __except ( FilterExpression() ) { // expected-error{{}}
+  __except ( FilterExpression() ) { // expected-warning{{implicit declaration of function '__except' is invalid in C99}} \
+    // expected-error{{too few arguments to function call, expected 1, have 0}}
 
   }
 }