Update tests to Apple's GCC version.

llvm-svn: 56325
diff --git a/llvm-gcc-4.2/gcc/testsuite/g++.apple/block-continuation.C b/llvm-gcc-4.2/gcc/testsuite/g++.apple/block-continuation.C
index ec77690..739a8cf 100644
--- a/llvm-gcc-4.2/gcc/testsuite/g++.apple/block-continuation.C
+++ b/llvm-gcc-4.2/gcc/testsuite/g++.apple/block-continuation.C
@@ -1,4 +1,5 @@
 /* APPLE LOCAL file radar 5732232 - blocks */
+/* Modified for radar 6169527 */
 /* { dg-do compile } */
 /* { dg-options "-fblocks" } */
 
@@ -10,9 +11,9 @@
 	break;		/* { dg-error "break statement not within loop or switch" } */
 	while (1) break;/* ok */
 	goto label1;	/* { dg-error "goto not allowed in block literal" } */
-			/* { dg-error "label" "" { target *-*-* } 12 } */
-      });
-  label1:
+			/* { dg-error "label" "" { target *-*-* } 13 } */
+      });	/* { dg-error "enters" } */
+  label1:	/* { dg-error "jump to label" } */
     break; /* OK */
     if (1)
       continue; /* OK */
@@ -40,5 +41,5 @@
 	  break;
     }
   };
-  goto label1;
+  goto label1; /* { dg-error "from here" } */
 }
diff --git a/llvm-gcc-4.2/gcc/testsuite/g++.apple/block-return.C b/llvm-gcc-4.2/gcc/testsuite/g++.apple/block-return.C
index 203dabd..ba430e1 100644
--- a/llvm-gcc-4.2/gcc/testsuite/g++.apple/block-return.C
+++ b/llvm-gcc-4.2/gcc/testsuite/g++.apple/block-return.C
@@ -5,43 +5,55 @@
 typedef void (^CL)(void);
 
 CL foo() {
+  short y;
+  short (^add1)(void) = ^{ return y+1; };  /* { dg-error "cannot convert" } */
 
-	short y;
-        short (^add1)(void) = ^{ return y+1; };  /* { dg-error "cannot convert" } */
+  CL X = ^{
+    if (2)
+      return;
+    return 1;		/* { dg-error "void block should not return a value" } */
+  };
 
-	CL X = ^{if (2)
-                   return;
-           	 return 1;   /* { dg-error "void block should not return a value" } */
-			     /* { dg-error "return-statement with a value" "" { target *-*-* } 14 } */
-	 	};
+  int (^Y) (void)  = ^{
+    if (3)
+      return 1;
+    else
+      return;		/* { dg-error "non-void block should return a value" } */
+  };
 
-	int (^Y) (void)  = ^{ if (3)
-	     	        return 1;
-	   	       else
-	     	        return;  /* { dg-error "non-void block should return a value" } */
-	             };
+  char *(^Z)(void) = ^{
+    if (3)
+      return "";
+    else
+      return (char*)0;	/* { dg-error "incompatible type returning" } */ 
+  };			/* { dg-error "cannot convert" } */
 
-	char *(^Z)(void) = ^{ if (3)
-             			return "";  /* { dg-error "cannot convert" } */
-           		      else
-             		       return (char*)0; /* { dg-error "incompatible type returning" } */ 
-         		    };	/* { dg-error "cannot convert" } */
+  double (^A)(void) = ^ {
+    if (1)
+      return (float)1.0;
+    else
+      if (2)
+	return (double)2.0;	/* { dg-error "incompatible type returning" } */
+    return 1;		/* { dg-error "incompatible type returning" } */
+  };			/* { dg-error "cannot convert" } */
+  char *(^B)(void) = ^{
+    if (3)
+      return "";
+    else
+      return 2;		/* { dg-error "incompatible type returning" } */
+  };			/* { dg-error "cannot convert" } */
 
-        double (^A)(void) = ^ { if (1)
-				 return (float)1.0;
-				else
-				  if (2)
-				    return (double)2.0;  /* { dg-error "incompatible type returning" } */
-				return 1;  /* { dg-error "incompatible type returning" } */
-			      }; /* { dg-error "cannot convert" } */
-        char *(^B)(void) =
-		^{ if (3)
-             	     return ""; /* { dg-error "cannot convert" } */
-           	   else
-             	    return 2; /* { dg-error "incompatible type returning" } */
-         	};	     /* { dg-error "cannot convert" } */
+  __block int i;
+  int& (^o)() = ^ int& {
+    int &ri = i;
+    return ri;
+  };
 
-        return ^{ return 1; };  /* { dg-error "cannot convert" } */
+  int (^o1)() = ^ {
+    int &ri = i;
+    return ri;
+  };
+  o() = 1;
 
+  return ^{ return 1; };	/* { dg-error "cannot convert" } */
 }
-
diff --git a/llvm-gcc-4.2/gcc/testsuite/g++.dg/tree-ssa/ivopts-1.C b/llvm-gcc-4.2/gcc/testsuite/g++.dg/tree-ssa/ivopts-1.C
index 8e1b648..2593fa9 100644
--- a/llvm-gcc-4.2/gcc/testsuite/g++.dg/tree-ssa/ivopts-1.C
+++ b/llvm-gcc-4.2/gcc/testsuite/g++.dg/tree-ssa/ivopts-1.C
@@ -15,6 +15,8 @@
 }
 
 /* { dg-final { scan-tree-dump-not "-&x" "ivopts" } } */
-/* { dg-final { scan-tree-dump-not "offset: -4B" "ivopts" { xfail i?86-*-* x86_64-*-* hppa*-*-* } } } */
-/* { dg-final { scan-tree-dump-not "&x\\\[5\\\]" "ivopts" { xfail i?86-*-* x86_64-*-* hppa*-*-* } } } */
+/* APPLE LOCAL begin 5431747 */
+/* { dg-final { scan-tree-dump-not "offset: -4B" "ivopts" { xfail hppa*-*-* } } } */
+/* { dg-final { scan-tree-dump-not "&x\\\[5\\\]" "ivopts" { xfail hppa*-*-* } } } */
+/* APPLE LOCAL end 5431747 */
 /* { dg-final { cleanup-tree-dump "ivopts" } } */
diff --git a/llvm-gcc-4.2/gcc/testsuite/gcc.apple/block-literal.c b/llvm-gcc-4.2/gcc/testsuite/gcc.apple/block-literal.c
index 8a4c550..10359e2 100644
--- a/llvm-gcc-4.2/gcc/testsuite/gcc.apple/block-literal.c
+++ b/llvm-gcc-4.2/gcc/testsuite/gcc.apple/block-literal.c
@@ -23,7 +23,8 @@
 
   I(^{ });
 
-  noop = ^noop /* { dg-error "blocks require" } */
+  noop = ^noop /* { dg-error "expected specifier" } */ 
+	       /*  { dg-error "blocks require" "" { target *-*-* } 26 } */
     ;  /* { dg-error "argument list is required for block expression literals" } */
 
   return ^{printf("\nBlock\n"); };  /* { dg-error "returning block that lives on the local stack" } */
@@ -35,7 +36,8 @@
   takeblock(^{ printf("%d\n", x); });
   takeblock(^{ x = 4; });  /* { dg-error "assignment of read-only variable" } */
 
-  takeblock(^test2() /* { dg-error "blocks require" } */
+  takeblock(^test2() /* { dg-error "expected specifier" } */  
+		     /* { dg-error "blocks require" "" { target *-*-* } 39 } */
 	    );	/* { dg-error "argument list is required for block expression literals" } */
 
   takeblock(^(void)(void)printf("hello world!\n")); /* { dg-error "blocks require" } */
diff --git a/llvm-gcc-4.2/gcc/testsuite/gcc.apple/block-return.c b/llvm-gcc-4.2/gcc/testsuite/gcc.apple/block-return.c
index 9e1499c..d4cfc61 100644
--- a/llvm-gcc-4.2/gcc/testsuite/gcc.apple/block-return.c
+++ b/llvm-gcc-4.2/gcc/testsuite/gcc.apple/block-return.c
@@ -5,43 +5,44 @@
 typedef void (^CL)(void);
 
 CL foo() {
+  short y;
+  short (^add1)(void) = ^{ return y+1; };  /* { dg-error "incompatible block pointer types initializing" } */
 
-	short y;
-        short (^add1)(void) = ^{ return y+1; };  /* { dg-error "incompatible block pointer types initializing" } */
+  CL X = ^{
+    if (2)
+      return;
+    return 1;		/* { dg-error "void block should not return a value" } */
+  };
 
-	CL X = ^{if (2)
-                   return;
-           	 return 1;   /* { dg-error "void block should not return a value" } */
-	 	};
+  int (^Y) (void)  = ^{
+    if (3)
+      return 1;
+    else
+      return;		/* { dg-error "non-void block should return a value" } */
+  };
 
-	int (^Y) (void)  = ^{ if (3)
-	     	        return 1;
-	   	       else
-	     	        return;  /* { dg-error "non-void block should return a value" } */
-	             };
+  char *(^Z)(void) = ^{
+    if (3)
+      return "";
+    else
+      return (char*)0;
+  };
 
-	char *(^Z)(void) = ^{ if (3)
-             			return "";
-           		      else
-             		       return (char*)0;
-         		    };
+  double (^A)(void) = ^ {
+    if (1)
+      return (float)1.0;
+    else
+      if (2)
+	return (double)2.0;	/* { dg-error "incompatible type returning" } */
+    return 1;		/* { dg-error "incompatible type returning" } */
+  };			/* { dg-error "incompatible block pointer types initializing" } */
+  char *(^B)(void) = ^{
+    if (3)
+      return "";
+    else
+      return 2;		/* { dg-error "incompatible type returning" } */
+			/* { dg-warning "return makes pointer from integer without a cast" "" { target *-*-* } 43 } */
+  };
 
-        double (^A)(void) = ^ { if (1)
-				 return (float)1.0;
-				else
-				  if (2)
-				    return (double)2.0;  /* { dg-error "incompatible type returning" } */
-				return 1;  /* { dg-error "incompatible type returning" } */
-			      }; /* { dg-error "incompatible block pointer types initializing" } */
-        char *(^B)(void) =
-		^{ if (3)
-             	     return "";
-           	   else
-             	    return 2; /* { dg-error "incompatible type returning" } */
-			      /* { dg-warning "return makes pointer from integer without a cast" "" { target *-*-* } 40 } */
-         	};
-
-        return ^{ return 1; };  /* { dg-error "incompatible block pointer types initializing" } */
-
+  return ^{ return 1; };	/* { dg-error "incompatible block pointer types initializing" } */
 }
-
diff --git a/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/class-protocol-1.mm b/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/class-protocol-1.mm
index efe60bb..ac1f83a 100644
--- a/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/class-protocol-1.mm
+++ b/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/class-protocol-1.mm
@@ -1,4 +1,4 @@
-
+/* APPLE LOCAL file radar 5839123 */
 /* Check Class <protocol> types */
 /* Author: David Ayers <d.ayers@inode.at> */
 /* { dg-do compile } */
@@ -176,7 +176,7 @@
 
 @protocol FwProto;
 /* APPLE LOCAL radar 4398221 */
-@interface MyClass1 (Forward) <FwProto>  /* { dg-warning "no definition of protocol \\'FwProto\\' " } */
+@interface MyClass1 (Forward) <FwProto> /* { dg-warning "no definition of protocol \\'FwProto\\' " } */
 @end
 
 Class <FwProto> clsP7 = 0;
@@ -327,8 +327,8 @@
     objP1 == cls; /* { dg-warning "lacks a cast" } */
   }
   { /* id <protocol>, non-ObjC  */
-    num == objP1; /* { dg-warning "between pointer" } */
-    objP1 == num; /* { dg-warning "between pointer" } */
+    num == objP1; /* { dg-error "between pointer" } */
+    objP1 == num; /* { dg-error "between pointer" } */
 
     ptr == objP1;
     objP1 == ptr;
@@ -383,12 +383,12 @@
     objP1 = obj;
   }
   { /* id <protocol>, Class  */
-    cls = objP1; /* { dg-warning "distinct Objective\\-C type" } */
-    objP1 = cls; /* { dg-warning "distinct Objective\\-C type" } */
+    cls = objP1; /* { dg-warning "incompatible Objective-C types assigning \\'objc_object\\*\\', expected \\'objc_class\\*\\'" } */
+    objP1 = cls; /* { dg-warning "incompatible Objective-C types assigning \\'objc_class\\*\\', expected \\'objc_object\\*\\'" } */
   }
   { /* id <protocol>, non-ObjC  */
-    num = objP1; /* { dg-error "invalid conversion" } */
-    objP1 = num; /* { dg-error "invalid conversion" } */
+    num = objP1; /* { dg-warning "invalid conversion" } */
+    objP1 = num; /* { dg-warning "invalid conversion" } */
 
     ptr = objP1;
     objP1 = ptr; /* { dg-error "invalid conversion" } */
@@ -402,11 +402,11 @@
   }
   { /* Class <protocol>, SomeClass * */
     /* These combinations should always elicit a warning.  */
-    mc1 = clsP1; /* { dg-warning "distinct Objective\\-C type" } */
-    clsP1 = mc1; /* { dg-warning "distinct Objective\\-C type" } */
+    mc1 = clsP1; /* { dg-warning "incompatible Objective-C types assigning \\'objc_class\\*\\', expected \\'MyClass1\\*\\'" } */
+    clsP1 = mc1; /* { dg-warning "incompatible Objective-C types assigning \\'MyClass1\\*\\', expected \\'objc_class\\*\\'" } */
     
-    mc1 = clsP2; /* { dg-warning "distinct Objective\\-C type" } */
-    clsP2 = mc1; /* { dg-warning "distinct Objective\\-C type" } */
+    mc1 = clsP2; /* { dg-warning "incompatible Objective-C types assigning \\'objc_class\\*\\', expected \\'MyClass1\\*\\'" } */
+    clsP2 = mc1; /* { dg-warning "incompatible Objective-C types assigning \\'MyClass1\\*\\', expected \\'objc_class\\*\\'" } */
   }
   { /* Class <protocol>, id */
     obj = clsP1;
@@ -424,8 +424,8 @@
     clsP1 = ptr; /* { dg-error "invalid conversion" } */
   }
   { /* Class <protocol>, id <protocol> */
-    clsP1 = objP1; /* { dg-warning "distinct Objective\\-C type" } */
-    objP1 = clsP1; /* { dg-warning "distinct Objective\\-C type" } */
+    clsP1 = objP1; /* { dg-warning "incompatible Objective-C types assigning \\'objc_object\\*\\', expected \\'objc_class\\*\\'" } */
+    objP1 = clsP1; /* { dg-warning "incompatible Objective-C types assigning \\'objc_class\\*\\', expected \\'objc_object\\*\\'" } */
   }
 }
 
diff --git a/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/comp-types-11.mm b/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/comp-types-11.mm
index a5a3a4a..c166a39 100644
--- a/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/comp-types-11.mm
+++ b/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/comp-types-11.mm
@@ -25,7 +25,7 @@
 @implementation Derived2
 + (Derived1 *)new {
   Derived2 *o = [super new];
-  return o;  /* { dg-warning "distinct Objective\\-C type in return" } */
+  return o;  /* { dg-warning "incompatible Objective-C types returning \\'Derived2\\*\\', expected \\'Derived1\\*\\'" } */
 }
 @end
 
diff --git a/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/comp-types-12.mm b/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/comp-types-12.mm
index 2d620b2..aaf2b79 100644
--- a/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/comp-types-12.mm
+++ b/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/comp-types-12.mm
@@ -9,7 +9,7 @@
 extern Object* foo(void);
 static Derived *test(void)
 {
-   Derived *m = foo();   /* { dg-warning "initialization from distinct Objective\\-C type" } */
+   Derived *m = foo();   /* { dg-warning "incompatible Objective-C types initializing \\'Object\\*\\', expected \\'Derived\\*\\'" } */
 
    return m;
 }
diff --git a/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/comp-types-2.mm b/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/comp-types-2.mm
index 0704378..dc93887 100644
--- a/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/comp-types-2.mm
+++ b/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/comp-types-2.mm
@@ -1,3 +1,4 @@
+/* APPLE LOCAL file radar 5839123 */
 /* Test various ObjC types assignments and comparisons.  */
 /* Author: Nicola Pero <nicola@brainstorm.co.uk>.  */
 /* { dg-do compile } */
@@ -33,9 +34,9 @@
   /* Assigning to a 'MyClass *' variable should always generate a
      warning, unless done from an 'id'.  */
   obj_c = obj;    /* Ok */
-  obj_c = obj_p;  /* { dg-warning "distinct Objective\\-C type" } */
-  obj_c = obj_cp; /* { dg-warning "distinct Objective\\-C type" } */
-  obj_c = obj_C;  /* { dg-warning "distinct Objective\\-C type" } */
+  obj_c = obj_p;  /* { dg-warning "incompatible Objective-C types assigning \\'objc_object\\*\\', expected \\'MyClass\\*\\'" } */
+  obj_c = obj_cp; /* { dg-warning "incompatible Objective-C types assigning \\'MyOtherClass\\*\\', expected \\'MyClass\\*\\'" } */
+  obj_c = obj_C;  /* { dg-warning "incompatible Objective-C types assigning \\'objc_class\\*\\', expected \\'MyClass\\*\\'" } */
 
   /* Assigning to an 'id<MyProtocol>' variable should generate a
      warning if done from a 'MyClass *' (which doesn't implement
@@ -44,15 +45,15 @@
   obj_p = obj;    /* Ok */
   obj_p = obj_c;  /* { dg-warning "does not implement" } */
   obj_p = obj_cp; /* Ok  */
-  obj_p = obj_C;  /* { dg-warning "distinct Objective\\-C type" } */
+  obj_p = obj_C;  /* { dg-warning "incompatible Objective-C types assigning \\'objc_class\\*\\', expected \\'objc_object\\*\\'" } */
 
   /* Assigning to a 'MyOtherClass *' variable should always generate
      a warning, unless done from an 'id' or an 'id<MyProtocol>' (since
      MyOtherClass implements MyProtocol).  */
   obj_cp = obj;    /* Ok */
-  obj_cp = obj_c;  /* { dg-warning "distinct Objective\\-C type" } */
+  obj_cp = obj_c;  /* { dg-warning "incompatible Objective-C types assigning \\'MyClass\\*\\', expected \\'MyOtherClass\\*\\'" } */
   obj_cp = obj_p;  /* Ok */
-  obj_cp = obj_C;  /* { dg-warning "distinct Objective\\-C type" } */
+  obj_cp = obj_C;  /* { dg-warning "incompatible Objective-C types assigning \\'objc_class\\*\\', expected \\'MyOtherClass\\*\\'" } */
 
   /* Any comparison involving an 'id' must be without warnings.  */
   if (obj == obj_p) ;  /* Ok  */ /*Bogus warning here in 2.95.4*/
diff --git a/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/comp-types-7.mm b/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/comp-types-7.mm
index e235581..65af5b2 100644
--- a/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/comp-types-7.mm
+++ b/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/comp-types-7.mm
@@ -1,3 +1,4 @@
+/* APPLE LOCAL file radar 5839123 */
 /* Test assignments and comparisons involving category protocols.  */
 /* Author: Nicola Pero <nicola@brainstorm.co.uk>.  */
 /* { dg-do compile } */
@@ -24,8 +25,8 @@
   MyClass *obj_cp = nil;
   MyOtherClass *obj_cp2 = nil;
 
-  obj_cp = obj_p;  /* { dg-warning "distinct Objective\\-C type" } */
-  obj_cp2 = obj_p; /* { dg-warning "distinct Objective\\-C type" } */
+  obj_cp = obj_p;  /* { dg-warning "incompatible Objective-C types assigning \\'objc_object\\*\\', expected \\'MyClass\\*\\'" } */
+  obj_cp2 = obj_p; /* { dg-warning "incompatible Objective-C types assigning \\'objc_object\\*\\', expected \\'MyOtherClass\\*\\'" } */
   obj_p = obj_cp;  /* Ok */
   obj_p = obj_cp2; /* Ok */
 
diff --git a/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/message-metadata-1.mm b/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/message-metadata-1.mm
index 2b31c9b..72ce699 100644
--- a/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/message-metadata-1.mm
+++ b/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/message-metadata-1.mm
@@ -1,6 +1,6 @@
-/* APPLE LOCAL file radar 4582204 */
+/* APPLE LOCAL file radar 4582204 - radar 5575115 */
 /* Test that message_ref_t meta-data is generated for for objc and obj-c++ */
-/* { dg-options "-fobjc-abi-version=2 -mmacosx-version-min=10.5" } */
+/* { dg-options "-fobjc-abi-version=2 -mmacosx-version-min=10.6" } */
 /* { dg-do compile } */
 /* APPLE LOCAL ARM hybrid ABI */
 /* { dg-skip-if "" { arm*-*-darwin* } { "*" } { "" } } */
@@ -11,4 +11,4 @@
 int main() {
     [Foo class];
 }
-/* { dg-final { scan-assembler "OBJC_MESSAGE_REF.*:" } } */
+/* { dg-final { scan-assembler "l_objc_msgSend_fixup.*:" } } */
diff --git a/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/objc2-instanceSizeStart-1.mm b/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/objc2-instanceSizeStart-1.mm
index e519784..2e82e58 100644
--- a/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/objc2-instanceSizeStart-1.mm
+++ b/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/objc2-instanceSizeStart-1.mm
@@ -1,6 +1,6 @@
-/* APPLE LOCAL file radar 5333233 */
+/* APPLE LOCAL file radar 5333233  - radar 6064186 */
 /* { dg-do compile { target powerpc*-*-darwin* i?86*-*-darwin* } } */
-/* { dg-options "-mmacosx-version-min=10.5 -m64" } */
+/* { dg-options "-mmacosx-version-min=10.6 -m64" } */
 
 @interface Super { id isa; } @end
 @implementation Super @end
@@ -11,4 +11,4 @@
 @implementation SubNoIvars @end
 
 int main() { return 0; }
-/* { dg-final { scan-assembler "L_ZL27_OBJC_CLASS_RO_\\\$_SubNoIvars:\n\t.long\t0\n\t.long\t8\n\t.long\t8" } } */
+/* { dg-final { scan-assembler "l_OBJC_CLASS_RO_\\\$_SubNoIvars:\n\t.long\t0\n\t.long\t8\n\t.long\t8" } } */
diff --git a/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/property-metadata-1.mm b/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/property-metadata-1.mm
index 68b9734..5f89958 100644
--- a/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/property-metadata-1.mm
+++ b/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/property-metadata-1.mm
@@ -1,9 +1,9 @@
-/* APPLE LOCAL file radar 4695101 */
+/* APPLE LOCAL file radar 4695101 - radar 6064186 */
 /* Test that @implementation <protoname> syntax generates metadata for properties 
    declared in @protocol, as well as those declared in the @interface. */
-/* { dg-do compile { target *-*-darwin* } } */
+/* { dg-do compile { target powerpc*-*-darwin* i?86*-*-darwin* } } */
 /* APPLE LOCAL radar 4899595 */
-/* { dg-options "-mmacosx-version-min=10.5 -m64" { target powerpc*-*-darwin* i?86*-*-darwin* } } */
+/* { dg-options "-mmacosx-version-min=10.6 -m64" } */
 
 @protocol GCObject
 @property(readonly) unsigned long int instanceSize;
@@ -23,6 +23,6 @@
 @end
 
 /* LLVM LOCAL begin accept llvm syntax */
-/* { dg-final { scan-assembler "L_.*OBJC_\\\$_PROP_LIST_GCObject:" } } */
-/* { dg-final { scan-assembler "L_.*OBJC_\\\$_PROP_PROTO_LIST_GCObject:" } } */
+/* { dg-final { scan-assembler "l_.*OBJC_\\\$_PROP_LIST_GCObject:" } } */
+/* { dg-final { scan-assembler "l_.*OBJC_\\\$_PROP_PROTO_LIST_GCObject:" } } */
 /* LLVM LOCAL end */
diff --git a/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/property-synthesize-ivar-3.mm b/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/property-synthesize-ivar-3.mm
index 527ceb8..eb85db8 100644
--- a/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/property-synthesize-ivar-3.mm
+++ b/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/property-synthesize-ivar-3.mm
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file radar 5435299 */
 /* Multiple @synthesize of a single property is error. */
-/* { dg-options "-fnew-property-ivar-synthesis -mmacosx-version-min=10.5" { target powerpc*-*-darwin* i?86*-*-darwin* } } */
+/* { dg-options "-mmacosx-version-min=10.5 -fnew-property-ivar-synthesis" { target powerpc*-*-darwin* i?86*-*-darwin* } } */
 /* { dg-options "-fnew-property-ivar-synthesis -fobjc-new-property" { target arm*-*-darwin* } } */
 /* { dg-do compile { target *-*-darwin* } } */
 
@@ -13,7 +13,7 @@
 @property int prop;
 @end
 @implementation Test3
-@synthesize prop;
+@synthesize prop;	/* { dg-error "previous property declaration of \\'prop\\' was here" } */
 @synthesize prop;  /* { dg-error "synthesized properties \\'prop\\' and \\'prop\\' both claim ivar \\'prop\\'" } */
 		   /* { dg-error "property \\'prop\\' is already implemented" "" { target *-*-* } 17 } */
 @end
diff --git a/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/property-synthesize-ivar-32-5.mm b/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/property-synthesize-ivar-32-5.mm
index 0c9ae2e..c011ec6 100644
--- a/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/property-synthesize-ivar-32-5.mm
+++ b/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/property-synthesize-ivar-32-5.mm
@@ -14,7 +14,7 @@
 @property int prop2;
 @end
 @implementation Test5_1
-@synthesize ivar;
+@synthesize ivar; /* { dg-error "previous property declaration of \\'ivar\\' was here" } */
 @synthesize prop2 = ivar; /* { dg-error "synthesized properties \\'prop2\\' and \\'ivar\\' both claim ivar \\'ivar\\'" } */
 @end
 
@@ -26,7 +26,7 @@
 @property int ivar;
 @end
 @implementation Test5_2
-@synthesize prop2 = ivar;
+@synthesize prop2 = ivar;  /* { dg-error "previous property declaration of \\'prop2\\' was here" } */
 @synthesize ivar; /* { dg-error "synthesized properties \\'ivar\\' and \\'prop2\\' both claim ivar \\'ivar\\'" } */
 @end
 
@@ -38,6 +38,6 @@
 @property int prop2;
 @end
 @implementation Test5_3
-@synthesize prop1 = ivar;
+@synthesize prop1 = ivar;  /* { dg-error "previous property declaration of \\'prop1\\' was here" } */
 @synthesize prop2 = ivar; /* { dg-error "synthesized properties \\'prop2\\' and \\'prop1\\' both claim ivar \\'ivar\\'" } */
 @end
diff --git a/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/property-synthesize-ivar-5.mm b/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/property-synthesize-ivar-5.mm
index 495912d..8f7e5fa 100644
--- a/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/property-synthesize-ivar-5.mm
+++ b/llvm-gcc-4.2/gcc/testsuite/obj-c++.dg/property-synthesize-ivar-5.mm
@@ -16,7 +16,7 @@
 @property int prop2;
 @end
 @implementation Test5_1
-@synthesize ivar;
+@synthesize ivar;	/* { dg-error "previous property declaration of \\'ivar\\' was here" } */
 @synthesize prop2 = ivar; /* { dg-error "synthesized properties \\'prop2\\' and \\'ivar\\' both claim ivar \\'ivar\\'" } */
 @end
 
@@ -28,7 +28,7 @@
 @property int ivar;
 @end
 @implementation Test5_2
-@synthesize prop2 = ivar;
+@synthesize prop2 = ivar;	/* { dg-error "previous property declaration of \\'prop2\\' was here" } */
 @synthesize ivar; /* { dg-error "synthesized properties \\'ivar\\' and \\'prop2\\' both claim ivar \\'ivar\\'" } */
 @end
 
@@ -40,7 +40,7 @@
 @property int prop2;
 @end
 @implementation Test5_3
-@synthesize prop1 = ivar;
+@synthesize prop1 = ivar; /* { dg-error "previous property declaration of \\'prop1\\' was here" } */
 @synthesize prop2 = ivar; /* { dg-error "synthesized properties \\'prop2\\' and \\'prop1\\' both claim ivar \\'ivar\\'" } */
 @end
 
@@ -50,7 +50,7 @@
 @property int prop2;
 @end
 @implementation Test5_4
-@synthesize prop1;
+@synthesize prop1; /* { dg-error "previous property declaration of \\'prop1\\' was here" } */
 @synthesize prop2 = prop1; /* { dg-error "synthesized properties \\'prop2\\' and \\'prop1\\' both claim ivar \\'prop1\\'" } */
 @end
 
@@ -59,7 +59,7 @@
 @property int prop2;
 @end
 @implementation Test5_5
-@synthesize prop1 = prop2;
+@synthesize prop1 = prop2;  /* { dg-error "previous property declaration of \\'prop1\\' was here" } */
 @synthesize prop2; /* { dg-error "synthesized properties \\'prop2\\' and \\'prop1\\' both claim ivar \\'prop2\\'" } */
 @end
 
@@ -68,7 +68,7 @@
 @property int prop2;
 @end
 @implementation Test5_6
-@synthesize prop1 = ivar;
+@synthesize prop1 = ivar; /* { dg-error "previous property declaration of \\'prop1\\' was here" } */
 @synthesize prop2 = ivar; /* { dg-error "synthesized properties \\'prop2\\' and \\'prop1\\' both claim ivar \\'ivar\\'" } */
 @end
 
diff --git a/llvm-gcc-4.2/gcc/testsuite/objc.dg/class-protocol-1.m b/llvm-gcc-4.2/gcc/testsuite/objc.dg/class-protocol-1.m
index 68f74b1..343b8ad 100644
--- a/llvm-gcc-4.2/gcc/testsuite/objc.dg/class-protocol-1.m
+++ b/llvm-gcc-4.2/gcc/testsuite/objc.dg/class-protocol-1.m
@@ -1,3 +1,4 @@
+/* APPLE LOCAL file radar 5839123 */
 /* Check Class <protocol> types */
 /* Author: David Ayers <d.ayers@inode.at> */
 /* { dg-do compile } */
@@ -187,9 +188,9 @@
   [cls doItInstance7];      /* { dg-warning "no .\\+doItInstance7. method found" } */
 
   [clsP7 doItClass7];       /* { dg-warning "not found in protocol" } */
-  /* { dg-warning "no .\\+doItClass7. method found" "" { target *-*-* } 189 } */
+  /* { dg-warning "no .\\+doItClass7. method found" "" { target *-*-* } 190 } */
   [clsP7 doItInstance7];    /* { dg-warning "not found in protocol" } */
-  /* { dg-warning "no .\\+doItInstance7. method found" "" { target *-*-* } 191 } */
+  /* { dg-warning "no .\\+doItInstance7. method found" "" { target *-*-* } 192 } */
 
   [MyClass1 doItClass7];    /* { dg-warning "may not respond" } */
   [MyClass1 doItInstance7]; /* { dg-warning "may not respond" } */
@@ -382,8 +383,8 @@
     objP1 = obj;
   }
   { /* id <protocol>, Class  */
-    cls = objP1; /* { dg-warning "distinct Objective\\-C type" } */
-    objP1 = cls; /* { dg-warning "distinct Objective\\-C type" } */
+    cls = objP1; /* { dg-warning "incompatible Objective-C types assigning \\'id\\', expected \\'Class\\'" } */
+    objP1 = cls; /* { dg-warning "incompatible Objective-C types assigning \\'Class\\', expected \\'id\\'" } */
   }
   { /* id <protocol>, non-ObjC  */
     num = objP1; /* { dg-warning "makes integer" } */
@@ -401,11 +402,11 @@
   }
   { /* Class <protocol>, SomeClass * */
     /* These combinations should always elicit a warning.  */
-    mc1 = clsP1; /* { dg-warning "distinct Objective\\-C type" } */
-    clsP1 = mc1; /* { dg-warning "distinct Objective\\-C type" } */
+    mc1 = clsP1; /* { dg-warning "incompatible Objective-C types assigning \\'Class\\', expected \\'struct MyClass1 \\*\\'" } */
+    clsP1 = mc1; /* { dg-warning "incompatible Objective-C types assigning \\'struct MyClass1 \\*\\', expected \\'Class\\'" } */
     
-    mc1 = clsP2; /* { dg-warning "distinct Objective\\-C type" } */
-    clsP2 = mc1; /* { dg-warning "distinct Objective\\-C type" } */
+    mc1 = clsP2; /* { dg-warning "incompatible Objective-C types assigning \\'Class\\', expected \\'struct MyClass1 \\*\\'" } */
+    clsP2 = mc1; /* { dg-warning "incompatible Objective-C types assigning \\'struct MyClass1 \\*\\', expected \\'Class\\'" } */
   }
   { /* Class <protocol>, id */
     obj = clsP1;
@@ -423,8 +424,8 @@
     clsP1 = ptr;
   }
   { /* Class <protocol>, id <protocol> */
-    clsP1 = objP1; /* { dg-warning "distinct Objective\\-C type" } */
-    objP1 = clsP1; /* { dg-warning "distinct Objective\\-C type" } */
+    clsP1 = objP1; /* { dg-warning "incompatible Objective-C types assigning \\'id\\', expected \\'Class\\'" } */
+    objP1 = clsP1; /* { dg-warning "incompatible Objective-C types assigning \\'Class\\', expected \\'id\\'" } */
   }
 }
 
diff --git a/llvm-gcc-4.2/gcc/testsuite/objc.dg/comp-types-1.m b/llvm-gcc-4.2/gcc/testsuite/objc.dg/comp-types-1.m
index 5bf59a7..684d32e 100644
--- a/llvm-gcc-4.2/gcc/testsuite/objc.dg/comp-types-1.m
+++ b/llvm-gcc-4.2/gcc/testsuite/objc.dg/comp-types-1.m
@@ -1,3 +1,4 @@
+/* APPLE LOCAL file radar 5839123 */
 /* Test various ObjC types assignments and comparisons.  */
 /* Author: Nicola Pero <nicola@brainstorm.co.uk>.  */
 /* { dg-do compile } */
@@ -32,9 +33,9 @@
   /* Assigning to a 'MyClass *' variable should always generate a
      warning, unless done from an 'id'.  */
   obj_c = obj;    /* Ok */
-  obj_c = obj_p;  /* { dg-warning "distinct Objective\\-C type" } */
-  obj_c = obj_cp; /* { dg-warning "distinct Objective\\-C type" } */
-  obj_c = obj_C;  /* { dg-warning "distinct Objective\\-C type" } */
+  obj_c = obj_p;  /* { dg-warning "incompatible Objective-C types assigning \\'id\\', expected \\'struct MyClass \\*\\'" } */
+  obj_c = obj_cp; /* { dg-warning "incompatible Objective-C types assigning \\'struct MyOtherClass \\*\\', expected \\'struct MyClass \\*\\'" } */
+  obj_c = obj_C;  /* { dg-warning "incompatible Objective-C types assigning \\'Class\\', expected \\'struct MyClass \\*\\'" } */
 
   /* Assigning to an 'id<MyProtocol>' variable should generate a
      warning if done from a 'MyClass *' (which doesn't implement
@@ -43,15 +44,15 @@
   obj_p = obj;    /* Ok */
   obj_p = obj_c;  /* { dg-warning "does not implement" } */
   obj_p = obj_cp; /* Ok  */
-  obj_p = obj_C;  /* { dg-warning "distinct Objective\\-C type" } */
+  obj_p = obj_C;  /* { dg-warning "incompatible Objective-C types assigning \\'Class\\', expected \\'id\\'" } */
 
   /* Assigning to a 'MyOtherClass *' variable should always generate
      a warning, unless done from an 'id' or an 'id<MyProtocol>' (since
      MyOtherClass implements MyProtocol).  */
   obj_cp = obj;    /* Ok */
-  obj_cp = obj_c;  /* { dg-warning "distinct Objective\\-C type" } */
+  obj_cp = obj_c;  /* { dg-warning "incompatible Objective-C types assigning \\'struct MyClass \\*\\', expected \\'struct MyOtherClass \\*\\'" } */
   obj_cp = obj_p;  /* Ok */
-  obj_cp = obj_C;  /* { dg-warning "distinct Objective\\-C type" } */
+  obj_cp = obj_C;  /* { dg-warning "incompatible Objective-C types assigning \\'Class\\', expected \\'struct MyOtherClass \\*\\'" } */
 
   /* Any comparison involving an 'id' must be without warnings.  */
   if (obj == obj_p) ;  /* Ok  */ /*Bogus warning here in 2.95.4*/
diff --git a/llvm-gcc-4.2/gcc/testsuite/objc.dg/comp-types-10.m b/llvm-gcc-4.2/gcc/testsuite/objc.dg/comp-types-10.m
index a5a3a4a..ca9309e 100644
--- a/llvm-gcc-4.2/gcc/testsuite/objc.dg/comp-types-10.m
+++ b/llvm-gcc-4.2/gcc/testsuite/objc.dg/comp-types-10.m
@@ -25,7 +25,7 @@
 @implementation Derived2
 + (Derived1 *)new {
   Derived2 *o = [super new];
-  return o;  /* { dg-warning "distinct Objective\\-C type in return" } */
+  return o;  /* { dg-warning "incompatible Objective-C types returning \\'struct Derived2 \\*\\', expected \\'struct Derived1 \\*\\'" } */
 }
 @end
 
diff --git a/llvm-gcc-4.2/gcc/testsuite/objc.dg/comp-types-11.m b/llvm-gcc-4.2/gcc/testsuite/objc.dg/comp-types-11.m
index b041759..1937a76 100644
--- a/llvm-gcc-4.2/gcc/testsuite/objc.dg/comp-types-11.m
+++ b/llvm-gcc-4.2/gcc/testsuite/objc.dg/comp-types-11.m
@@ -1,3 +1,4 @@
+/* APPLE LOCAL file radar 5839123 */
 /* { dg-do compile } */
 #include <objc/Object.h>
 
@@ -7,7 +8,7 @@
 extern Object* foo(void);
 static Derived *test(void)
 {
-   Derived *m = foo();   /* { dg-warning "initialization from distinct Objective\\-C type" } */
+   Derived *m = foo();   /* { dg-warning "incompatible Objective-C types initializing \\'struct Object \\*\\', expected \\'struct Derived \\*\\'" } */
 
    return m;
 }
diff --git a/llvm-gcc-4.2/gcc/testsuite/objc.dg/comp-types-6.m b/llvm-gcc-4.2/gcc/testsuite/objc.dg/comp-types-6.m
index e235581..58d6f0d 100644
--- a/llvm-gcc-4.2/gcc/testsuite/objc.dg/comp-types-6.m
+++ b/llvm-gcc-4.2/gcc/testsuite/objc.dg/comp-types-6.m
@@ -1,3 +1,4 @@
+/* APPLE LOCAL file radar 5839123 */
 /* Test assignments and comparisons involving category protocols.  */
 /* Author: Nicola Pero <nicola@brainstorm.co.uk>.  */
 /* { dg-do compile } */
@@ -24,8 +25,8 @@
   MyClass *obj_cp = nil;
   MyOtherClass *obj_cp2 = nil;
 
-  obj_cp = obj_p;  /* { dg-warning "distinct Objective\\-C type" } */
-  obj_cp2 = obj_p; /* { dg-warning "distinct Objective\\-C type" } */
+  obj_cp = obj_p;  /* { dg-warning "incompatible Objective-C types assigning \\'id\\', expected \\'struct MyClass \\*\\'" } */
+  obj_cp2 = obj_p; /* { dg-warning "incompatible Objective-C types assigning \\'id\\', expected \\'struct MyOtherClass \\*\\'" } */
   obj_p = obj_cp;  /* Ok */
   obj_p = obj_cp2; /* Ok */
 
diff --git a/llvm-gcc-4.2/gcc/testsuite/objc.dg/message-metadata-1.m b/llvm-gcc-4.2/gcc/testsuite/objc.dg/message-metadata-1.m
index cfb12b2..0a50675 100644
--- a/llvm-gcc-4.2/gcc/testsuite/objc.dg/message-metadata-1.m
+++ b/llvm-gcc-4.2/gcc/testsuite/objc.dg/message-metadata-1.m
@@ -1,6 +1,6 @@
-/* APPLE LOCAL file radar 4582204 */
+/* APPLE LOCAL file radar 4582204 - radar 5575115 */
 /* Test that message_ref_t meta-data is generated for for objc and obj-c++ */
-/* { dg-options "-fobjc-abi-version=2 -mmacosx-version-min=10.5" { target powerpc*-*-darwin* i?86*-*-darwin* } } */
+/* { dg-options "-fobjc-abi-version=2 -mmacosx-version-min=10.6" { target powerpc*-*-darwin* i?86*-*-darwin* } } */
 /* { dg-options "-fno-objc-legacy-dispatch" { target arm*-*-darwin* } } */
 /* { dg-do compile } */
 
@@ -10,4 +10,4 @@
 int main() {
     [Foo class];
 }
-/* { dg-final { scan-assembler "OBJC_MESSAGE_REF.*:" } } */
+/* { dg-final { scan-assembler "l_objc_msgSend_fixup.*:" } } */
diff --git a/llvm-gcc-4.2/gcc/testsuite/objc.dg/method-9.m b/llvm-gcc-4.2/gcc/testsuite/objc.dg/method-9.m
index b8ea46b..6bc609b 100644
--- a/llvm-gcc-4.2/gcc/testsuite/objc.dg/method-9.m
+++ b/llvm-gcc-4.2/gcc/testsuite/objc.dg/method-9.m
@@ -39,7 +39,7 @@
 
      /* The following warning is a consequence of picking the "wrong" method signature.  */
      /* APPLE LOCAL mainline */
-     /* { dg-warning "passing argument 1 of .initWithData:. from distinct Objective\\-C type" "" { target *-*-* } 34 } */
+     /* { dg-warning "incompatible Objective-C types \\'id\\', expected \\'struct Object \\*\\' when passing argument 1 of \\'initWithData:\\' from distinct" "" { target *-*-* } 34 } */
     return result;
 }
 @end
diff --git a/llvm-gcc-4.2/gcc/testsuite/objc.dg/objc2-warn-prev-osx-1.m b/llvm-gcc-4.2/gcc/testsuite/objc.dg/objc2-warn-prev-osx-1.m
index 11db111..2332a8b 100644
--- a/llvm-gcc-4.2/gcc/testsuite/objc.dg/objc2-warn-prev-osx-1.m
+++ b/llvm-gcc-4.2/gcc/testsuite/objc.dg/objc2-warn-prev-osx-1.m
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file radar 4531086 */
 /* Test for warning on usage of objc2 features on older os's. */
-/* { dg-options "-mmacosx-version-min=10.5 -fobjc-abi-version=2 -fobjc-new-property -mmacosx-version-min=10.4 -std=c99" } */
+/* { dg-options "-mmacosx-version-min=10.4 -fobjc-abi-version=2 -fobjc-new-property -std=c99" } */
 /* { dg-do compile { target powerpc*-*-darwin* i?86*-*-darwin* } } */
 
 #include <objc/objc.h>
diff --git a/llvm-gcc-4.2/gcc/testsuite/objc.dg/property-metadata-1.m b/llvm-gcc-4.2/gcc/testsuite/objc.dg/property-metadata-1.m
index d7305b6..175c885 100644
--- a/llvm-gcc-4.2/gcc/testsuite/objc.dg/property-metadata-1.m
+++ b/llvm-gcc-4.2/gcc/testsuite/objc.dg/property-metadata-1.m
@@ -1,9 +1,9 @@
-/* APPLE LOCAL file radar 4695101 */
+/* APPLE LOCAL file radar 4695101 - radar 6064186 */
 /* Test that @implementation <protoname> syntax generates metadata for properties 
    declared in @protocol, as well as those declared in the @interface. */
 /* { dg-do compile { target powerpc*-*-darwin* i?86*-*-darwin* } } */
 /* APPLE LOCAL radar 4899595 */
-/* { dg-options "-mmacosx-version-min=10.5 -m64" } */
+/* { dg-options "-mmacosx-version-min=10.6 -m64" } */
 
 @protocol GCObject
 @property(readonly) unsigned long int instanceSize;
diff --git a/llvm-gcc-4.2/gcc/testsuite/objc.dg/property-synthesize-ivar-3.m b/llvm-gcc-4.2/gcc/testsuite/objc.dg/property-synthesize-ivar-3.m
index db12609..eb85db8 100644
--- a/llvm-gcc-4.2/gcc/testsuite/objc.dg/property-synthesize-ivar-3.m
+++ b/llvm-gcc-4.2/gcc/testsuite/objc.dg/property-synthesize-ivar-3.m
@@ -13,7 +13,7 @@
 @property int prop;
 @end
 @implementation Test3
-@synthesize prop;
+@synthesize prop;	/* { dg-error "previous property declaration of \\'prop\\' was here" } */
 @synthesize prop;  /* { dg-error "synthesized properties \\'prop\\' and \\'prop\\' both claim ivar \\'prop\\'" } */
 		   /* { dg-error "property \\'prop\\' is already implemented" "" { target *-*-* } 17 } */
 @end
diff --git a/llvm-gcc-4.2/gcc/testsuite/objc.dg/property-synthesize-ivar-32-5.m b/llvm-gcc-4.2/gcc/testsuite/objc.dg/property-synthesize-ivar-32-5.m
index 0c9ae2e..c011ec6 100644
--- a/llvm-gcc-4.2/gcc/testsuite/objc.dg/property-synthesize-ivar-32-5.m
+++ b/llvm-gcc-4.2/gcc/testsuite/objc.dg/property-synthesize-ivar-32-5.m
@@ -14,7 +14,7 @@
 @property int prop2;
 @end
 @implementation Test5_1
-@synthesize ivar;
+@synthesize ivar; /* { dg-error "previous property declaration of \\'ivar\\' was here" } */
 @synthesize prop2 = ivar; /* { dg-error "synthesized properties \\'prop2\\' and \\'ivar\\' both claim ivar \\'ivar\\'" } */
 @end
 
@@ -26,7 +26,7 @@
 @property int ivar;
 @end
 @implementation Test5_2
-@synthesize prop2 = ivar;
+@synthesize prop2 = ivar;  /* { dg-error "previous property declaration of \\'prop2\\' was here" } */
 @synthesize ivar; /* { dg-error "synthesized properties \\'ivar\\' and \\'prop2\\' both claim ivar \\'ivar\\'" } */
 @end
 
@@ -38,6 +38,6 @@
 @property int prop2;
 @end
 @implementation Test5_3
-@synthesize prop1 = ivar;
+@synthesize prop1 = ivar;  /* { dg-error "previous property declaration of \\'prop1\\' was here" } */
 @synthesize prop2 = ivar; /* { dg-error "synthesized properties \\'prop2\\' and \\'prop1\\' both claim ivar \\'ivar\\'" } */
 @end
diff --git a/llvm-gcc-4.2/gcc/testsuite/objc.dg/property-synthesize-ivar-5.m b/llvm-gcc-4.2/gcc/testsuite/objc.dg/property-synthesize-ivar-5.m
index 495912d..8f7e5fa 100644
--- a/llvm-gcc-4.2/gcc/testsuite/objc.dg/property-synthesize-ivar-5.m
+++ b/llvm-gcc-4.2/gcc/testsuite/objc.dg/property-synthesize-ivar-5.m
@@ -16,7 +16,7 @@
 @property int prop2;
 @end
 @implementation Test5_1
-@synthesize ivar;
+@synthesize ivar;	/* { dg-error "previous property declaration of \\'ivar\\' was here" } */
 @synthesize prop2 = ivar; /* { dg-error "synthesized properties \\'prop2\\' and \\'ivar\\' both claim ivar \\'ivar\\'" } */
 @end
 
@@ -28,7 +28,7 @@
 @property int ivar;
 @end
 @implementation Test5_2
-@synthesize prop2 = ivar;
+@synthesize prop2 = ivar;	/* { dg-error "previous property declaration of \\'prop2\\' was here" } */
 @synthesize ivar; /* { dg-error "synthesized properties \\'ivar\\' and \\'prop2\\' both claim ivar \\'ivar\\'" } */
 @end
 
@@ -40,7 +40,7 @@
 @property int prop2;
 @end
 @implementation Test5_3
-@synthesize prop1 = ivar;
+@synthesize prop1 = ivar; /* { dg-error "previous property declaration of \\'prop1\\' was here" } */
 @synthesize prop2 = ivar; /* { dg-error "synthesized properties \\'prop2\\' and \\'prop1\\' both claim ivar \\'ivar\\'" } */
 @end
 
@@ -50,7 +50,7 @@
 @property int prop2;
 @end
 @implementation Test5_4
-@synthesize prop1;
+@synthesize prop1; /* { dg-error "previous property declaration of \\'prop1\\' was here" } */
 @synthesize prop2 = prop1; /* { dg-error "synthesized properties \\'prop2\\' and \\'prop1\\' both claim ivar \\'prop1\\'" } */
 @end
 
@@ -59,7 +59,7 @@
 @property int prop2;
 @end
 @implementation Test5_5
-@synthesize prop1 = prop2;
+@synthesize prop1 = prop2;  /* { dg-error "previous property declaration of \\'prop1\\' was here" } */
 @synthesize prop2; /* { dg-error "synthesized properties \\'prop2\\' and \\'prop1\\' both claim ivar \\'prop2\\'" } */
 @end
 
@@ -68,7 +68,7 @@
 @property int prop2;
 @end
 @implementation Test5_6
-@synthesize prop1 = ivar;
+@synthesize prop1 = ivar; /* { dg-error "previous property declaration of \\'prop1\\' was here" } */
 @synthesize prop2 = ivar; /* { dg-error "synthesized properties \\'prop2\\' and \\'prop1\\' both claim ivar \\'ivar\\'" } */
 @end