objc.exp (objc_init): Add and set gcc_warning_prefix and gcc_error_prefix variables.

2009-04-30  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.

From-SVN: r147006
This commit is contained in:
David Ayers 2009-04-30 16:03:44 +00:00 committed by David Ayers
parent ee56ac9def
commit 512e7d7fb0
12 changed files with 39 additions and 17 deletions

View File

@ -1,3 +1,19 @@
2009-04-30 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.
2009-04-30 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/39667

View File

@ -95,6 +95,8 @@ proc objc_init { args } {
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 @@ proc objc_init { args } {
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]

View File

@ -11,5 +11,5 @@ extern int foo();
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 } */
}

View File

@ -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

View File

@ -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;

View File

@ -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

View File

@ -24,9 +24,9 @@ void foo(void) {
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 } */

View File

@ -5,4 +5,5 @@
@ implementation NGActiveSocket
+ (void) socketPair:(int[m]) _pair {} /* { dg-error "" } */
/* { dg-warning "" "" { target *-*-* } 7 } */
@end

View File

@ -20,8 +20,8 @@ void foo(void) {
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 } */

View File

@ -22,8 +22,8 @@ id foo(void) {
/* { 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;
}

View File

@ -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 } */

View File

@ -50,8 +50,8 @@ int main (void)
{
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 */
}