Commit 445eb4c6 by Nicola Pero Committed by Nicola Pero

In gcc/objc/: 2010-12-30 Nicola Pero <nicola.pero@meta-innovation.com>

In gcc/objc/:
2010-12-30  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc-act.c (objc_set_method_opt): Tidy up error messages.  In
	particular, explicitly mention whether the error is due to the
	@optional or @required keyword instead of mentioning
	"@optional/@required".

In gcc/testsuite/:
2010-12-30  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc.dg/enhanced-proto-2.m: Updated.
	* obj-c++.dg/enhanced-proto-2.mm: Updated.

From-SVN: r168327
parent 37153b1e
2010-12-30 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (objc_set_method_opt): Tidy up error messages. In
particular, explicitly mention whether the error is due to the
@optional or @required keyword instead of mentioning
"@optional/@required".
2010-12-29 Nicola Pero <nicola.pero@meta-innovation.com> 2010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc/47118 PR objc/47118
......
...@@ -876,13 +876,21 @@ void ...@@ -876,13 +876,21 @@ void
objc_set_method_opt (bool optional) objc_set_method_opt (bool optional)
{ {
if (flag_objc1_only) if (flag_objc1_only)
error_at (input_location, "@optional/@required are not available in Objective-C 1.0"); {
if (optional)
error_at (input_location, "%<@optional%> is not available in Objective-C 1.0");
else
error_at (input_location, "%<@required%> is not available in Objective-C 1.0");
}
objc_method_optional_flag = optional; objc_method_optional_flag = optional;
if (!objc_interface_context if (!objc_interface_context
|| TREE_CODE (objc_interface_context) != PROTOCOL_INTERFACE_TYPE) || TREE_CODE (objc_interface_context) != PROTOCOL_INTERFACE_TYPE)
{ {
error ("@optional/@required is allowed in @protocol context only"); if (optional)
error ("%<@optional%> is allowed in @protocol context only");
else
error ("%<@required%> is allowed in @protocol context only");
objc_method_optional_flag = false; objc_method_optional_flag = false;
} }
} }
......
2010-12-30 Nicola Pero <nicola.pero@meta-innovation.com>
* objc.dg/enhanced-proto-2.m: Updated.
* obj-c++.dg/enhanced-proto-2.mm: Updated.
2010-12-29 Nicola Pero <nicola.pero@meta-innovation.com> 2010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
PR objc/47118 PR objc/47118
......
...@@ -11,9 +11,9 @@ ...@@ -11,9 +11,9 @@
@end @end
@interface MyProto2 <MyProto1> @interface MyProto2 <MyProto1>
@required /* { dg-error "@optional/@required is allowed in @protocol context only" } */ @required /* { dg-error ".@required. is allowed in @protocol context only" } */
- (void) FOO2; - (void) FOO2;
@optional /* { dg-error "@optional/@required is allowed in @protocol context only" } */ @optional /* { dg-error ".@optional. is allowed in @protocol context only" } */
- (void) FOO3; - (void) FOO3;
@end @end
......
...@@ -12,9 +12,9 @@ ...@@ -12,9 +12,9 @@
@end @end
@interface MyProto2 <MyProto1> @interface MyProto2 <MyProto1>
@required /* { dg-error "@optional/@required is allowed in @protocol context only" } */ @required /* { dg-error ".@required. is allowed in @protocol context only" } */
- (void) FOO2; - (void) FOO2;
@optional /* { dg-error "@optional/@required is allowed in @protocol context only" } */ @optional /* { dg-error ".@optional. is allowed in @protocol context only" } */
- (void) FOO3; - (void) FOO3;
@end @end
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment