This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[RFA][testsuite] Differentiate diagnostics for ObjC test cases


Hello,

This patch updates objc.dg to set gcc_error_prefix and
gcc_warning_prefix which allows the Objective-C test suite to
differentiate between errors, warning and messages.

I think I only need test suite maintainer approval yet I've cc'ed ObjC
maintainers in case they have reservations.

OK for trunk?
Cheers,
David
2009-00-00  David Ayers  <ayers@fsfe.org>

	* lib/objc.exp (objc_init): Add	and set gcc_warning_prefix
	and gcc_error_prefix variables.
	* objc.dg/bad-receiver-type.m: Update to match correct
	diagnostics marker.
	* objc.dg/encode-5.m: Likewise.
	* objc.dg/id-1.m: Likewise.
	* objc.dg/method-1.m: Likewise.
	* objc.dg/method-6.m: Likewise.
	* objc.dg/method-7.m: Likewise.
	* objc.dg/method-9.m: Likewise.
	* objc.dg/method-11.m: Likewise.
	* objc.dg/method-20.m: Likewise.
	* objc.dg/private-1.m: Likewise.
	
Index: gcc/testsuite/lib/objc.exp
===================================================================
--- gcc/testsuite/lib/objc.exp	(Revision 146065)
+++ gcc/testsuite/lib/objc.exp	(Arbeitskopie)
@@ -95,6 +95,8 @@
     global OBJC_UNDER_TEST
     global TOOL_EXECUTABLE
     global objc_libgcc_s_path
+    global gcc_warning_prefix
+    global gcc_error_prefix
 
     # We set LC_ALL and LANG to C so that we get the same error messages as expected.
     setenv LC_ALL C
@@ -114,6 +116,9 @@
 	set tmpdir /tmp
     }
 
+    set gcc_warning_prefix "warning:"
+    set gcc_error_prefix "error:"
+
     objc_maybe_build_wrapper "${tmpdir}/objc-testglue.o"
 
     set objc_libgcc_s_path [gcc-set-multilib-library-path $OBJC_UNDER_TEST]
Index: gcc/testsuite/objc.dg/private-1.m
===================================================================
--- gcc/testsuite/objc.dg/private-1.m	(Revision 146065)
+++ gcc/testsuite/objc.dg/private-1.m	(Arbeitskopie)
@@ -50,8 +50,8 @@
     {
       int access;
 
-      access = m->private;   /* { dg-error "is @private" }  */
-      access = m->protected; /* { dg-error "is @protected" }  */
+      access = m->private;   /* { dg-warning "is @private" }  */
+      access = m->protected; /* { dg-warning "is @protected" }  */
       access = m->public;    /* Ok  */
     }
 
Index: gcc/testsuite/objc.dg/method-6.m
===================================================================
--- gcc/testsuite/objc.dg/method-6.m	(Revision 146065)
+++ gcc/testsuite/objc.dg/method-6.m	(Arbeitskopie)
@@ -20,8 +20,8 @@
   Class receiver;
 
   [receiver port];  /* { dg-warning "multiple methods named .\\+port. found" } */
-       /* { dg-warning "using .\\-\\(unsigned( int)?\\)port." "" { target *-*-* } 10 } */
-       /* { dg-warning "also found .\\+\\(Protocol \\*\\)port." "" { target *-*-* } 15 } */
+       /* { dg-message "using .\\-\\(unsigned( int)?\\)port." "" { target *-*-* } 10 } */
+       /* { dg-message "also found .\\+\\(Protocol \\*\\)port." "" { target *-*-* } 15 } */
 
   [receiver starboard];  /* { dg-warning "no .\\+starboard. method found" } */
        /* { dg-warning "Messages without a matching method signature" "" { target *-*-* } 26 } */
Index: gcc/testsuite/objc.dg/method-11.m
===================================================================
--- gcc/testsuite/objc.dg/method-11.m	(Revision 146065)
+++ gcc/testsuite/objc.dg/method-11.m	(Arbeitskopie)
@@ -24,9 +24,9 @@
   id obj1, obj2 = 0;
   obj2 = [obj1 initWithData: obj2];
      /* { dg-warning "multiple methods named .\\-initWithData:. found" "" { target *-*-* } 25 } */
-     /* { dg-warning "using .\\-\\(void\\)initWithData:\\(Object1 \\*\\)data." "" { target *-*-* } 12 } */
-     /* { dg-warning "also found .\\-\\(id\\)initWithData:\\(Object1 \\*\\)data." "" { target *-*-* } 16 } */
-     /* { dg-warning "also found .\\-\\(id\\)initWithData:\\(Object2 \\*\\)data." "" { target *-*-* } 20 } */
+     /* { dg-message "using .\\-\\(void\\)initWithData:\\(Object1 \\*\\)data." "" { target *-*-* } 12 } */
+     /* { dg-message "also found .\\-\\(id\\)initWithData:\\(Object1 \\*\\)data." "" { target *-*-* } 16 } */
+     /* { dg-message "also found .\\-\\(id\\)initWithData:\\(Object2 \\*\\)data." "" { target *-*-* } 20 } */
 
      /* The following error is a consequence of picking the "wrong" method signature.  */
      /* { dg-error "void value not ignored as it ought to be" "" { target *-*-* } 25 } */
Index: gcc/testsuite/objc.dg/id-1.m
===================================================================
--- gcc/testsuite/objc.dg/id-1.m	(Revision 146065)
+++ gcc/testsuite/objc.dg/id-1.m	(Arbeitskopie)
@@ -2,6 +2,6 @@
 /* { dg-do compile } */
 
 typedef int id;  /* { dg-error "conflicting types for .id." } */
-/* { dg-error "previous declaration of .id. was here" "" { target *-*-* } 0 } */
+/* { dg-message "previous declaration of .id. was here" "" { target *-*-* } 0 } */
 
 id b;
Index: gcc/testsuite/objc.dg/method-20.m
===================================================================
--- gcc/testsuite/objc.dg/method-20.m	(Revision 146065)
+++ gcc/testsuite/objc.dg/method-20.m	(Arbeitskopie)
@@ -5,4 +5,5 @@
 
 @ implementation NGActiveSocket
 + (void) socketPair:(int[m]) _pair {} /* { dg-error "" } */
+       /* { dg-warning "" "" { target *-*-* } 7 } */
 @end
Index: gcc/testsuite/objc.dg/method-7.m
===================================================================
--- gcc/testsuite/objc.dg/method-7.m	(Revision 146065)
+++ gcc/testsuite/objc.dg/method-7.m	(Arbeitskopie)
@@ -22,8 +22,8 @@
   /* { dg-warning "will be assumed to return .id. and accept" "" { target *-*-* } 20 } */
   /* { dg-warning ".\.\.\.. as arguments" "" { target *-*-* } 20 } */
   [obj2 setWindow:nil]; /* { dg-warning "multiple methods named .\\-setWindow:. found" } */
-  /* { dg-warning "using .\\-\\(void\\)setWindow:\\(Object \\*\\)wdw." "" { target *-*-* } 10 } */
-  /* { dg-warning "also found .\\-\\(void\\)setWindow:\\(Class1 \\*\\)window." "" { target *-*-* } 14 } */
+  /* { dg-message "using .\\-\\(void\\)setWindow:\\(Object \\*\\)wdw." "" { target *-*-* } 10 } */
+  /* { dg-message "also found .\\-\\(void\\)setWindow:\\(Class1 \\*\\)window." "" { target *-*-* } 14 } */
 
   return obj;
 }
Index: gcc/testsuite/objc.dg/bad-receiver-type.m
===================================================================
--- gcc/testsuite/objc.dg/bad-receiver-type.m	(Revision 146065)
+++ gcc/testsuite/objc.dg/bad-receiver-type.m	(Arbeitskopie)
@@ -11,5 +11,5 @@
 void baz()
 {
     [foo test];	/* { dg-warning "invalid receiver type" } */ 
-		/* { dg-warning "cannot convert to a pointer type" "" { target *-*-* } 13 } */
+		/* { dg-error "cannot convert to a pointer type" "" { target *-*-* } 13 } */
 }
Index: gcc/testsuite/objc.dg/encode-5.m
===================================================================
--- gcc/testsuite/objc.dg/encode-5.m	(Revision 146065)
+++ gcc/testsuite/objc.dg/encode-5.m	(Arbeitskopie)
@@ -28,7 +28,7 @@
 @interface Test : Object
 { float j; }
 -(void) test2: (int [5])a with: (int [])b;
--(id) test3: (Test **)b; /* { dg-warning "previous declaration of .\\-\\(id\\)test3:\\(Test \\*\\*\\)b." } */
+-(id) test3: (Test **)b; /* { dg-message "previous declaration of .\\-\\(id\\)test3:\\(Test \\*\\*\\)b." } */
 @end
 
 @implementation Test
Index: gcc/testsuite/objc.dg/method-1.m
===================================================================
--- gcc/testsuite/objc.dg/method-1.m	(Revision 146065)
+++ gcc/testsuite/objc.dg/method-1.m	(Arbeitskopie)
@@ -16,7 +16,7 @@
 @end
 
 @implementation class3
-- (int) meth1 { return 0; } /* { dg-error "previous definition" } */
+- (int) meth1 { return 0; } /* { dg-message "previous definition" } */
 - (int) meth1 { return 0; } /* { dg-error "redefinition of" } */
 @end
 
@@ -25,6 +25,6 @@
 @end
 
 @implementation class4
-+ (void) meth1 {} /* { dg-error "previous definition" } */
++ (void) meth1 {} /* { dg-message "previous definition" } */
 + (void) meth1 {} /* { dg-error "redefinition of" } */
 @end
Index: gcc/testsuite/objc.dg/method-9.m
===================================================================
--- gcc/testsuite/objc.dg/method-9.m	(Revision 146065)
+++ gcc/testsuite/objc.dg/method-9.m	(Arbeitskopie)
@@ -34,9 +34,9 @@
 {
     NTGridDataObject *result = [[NTGridDataObject alloc] initWithData:data];
     /* { dg-warning "multiple methods named .\\-initWithData:. found" "" { target *-*-* } 35 } */
-    /* { dg-warning "using .\\-\\(id\\)initWithData:\\(Object \\*\\)data." "" { target *-*-* } 11 } */
-    /* { dg-warning "also found .\\-\\(id\\)initWithData:\\(id <MyObject, MyCoding>\\)data." "" { target *-*-* } 19 } */
-    /* { dg-warning "also found .\\-\\(id\\)initWithData:\\(int\\)data." "" { target *-*-* } 15 } */
+    /* { dg-message "using .\\-\\(id\\)initWithData:\\(Object \\*\\)data." "" { target *-*-* } 11 } */
+    /* { dg-message "also found .\\-\\(id\\)initWithData:\\(id <MyObject, MyCoding>\\)data." "" { target *-*-* } 19 } */
+    /* { dg-message "also found .\\-\\(id\\)initWithData:\\(int\\)data." "" { target *-*-* } 15 } */
 
     /* The following warning is a consequence of picking the "wrong" method signature.  */
     /* { dg-warning "passing argument 1 of .initWithData:. from distinct Objective\\-C type" "" { target *-*-* } 35 } */

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]