Use #define trickery to de-XFAIL test/Coverage/codegen-gnu.m while
still getting coverage for non-IRgen cases.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58084 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Coverage/codegen-gnu.m b/test/Coverage/codegen-gnu.m
index 63cd468..9d5aa89 100644
--- a/test/Coverage/codegen-gnu.m
+++ b/test/Coverage/codegen-gnu.m
@@ -1,5 +1,7 @@
-// RUN: clang -fgnu-runtime -emit-llvm -o %t %s &&
-// RUN: clang -g -fgnu-runtime -emit-llvm -o %t %s
-// XFAIL
+// RUN: clang -DIRGENABLE_GNU -DIRGENABLE -fgnu-runtime -emit-llvm -o %t %s && 
+// RUN: clang -DIRGENABLE_GNU -DIRGENABLE -g -fgnu-runtime -emit-llvm -o %t %s &&
+
+// FIXME: Remove once GNU can IRgen everything.
+// RUN: ! clang -fgnu-runtime -emit-llvm -o %t %s
 
 #include "objc-language-features.inc"
diff --git a/test/Coverage/objc-language-features.inc b/test/Coverage/objc-language-features.inc
index 0e6237e..793d0e5 100644
--- a/test/Coverage/objc-language-features.inc
+++ b/test/Coverage/objc-language-features.inc
@@ -52,11 +52,14 @@
 @end
 
 int f0(id x) {
+#ifndef IRGENABLE_GNU
 #ifndef IRGENABLE
   @synchronized(x) {
   }
 #endif
+#endif
 
+#ifndef IRGENABLE_GNU
   @try {
     @throw x;
   } @catch(A *e) {
@@ -68,6 +71,7 @@
   for (id y in x) {
     break;
   }
+#endif
 }
 
 struct s0 {