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>
PR objc/47118
......
......@@ -876,13 +876,21 @@ void
objc_set_method_opt (bool optional)
{
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;
if (!objc_interface_context
|| 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;
}
}
......
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>
PR objc/47118
......
......@@ -11,9 +11,9 @@
@end
@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;
@optional /* { dg-error "@optional/@required is allowed in @protocol context only" } */
@optional /* { dg-error ".@optional. is allowed in @protocol context only" } */
- (void) FOO3;
@end
......
......@@ -12,9 +12,9 @@
@end
@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;
@optional /* { dg-error "@optional/@required is allowed in @protocol context only" } */
@optional /* { dg-error ".@optional. is allowed in @protocol context only" } */
- (void) FOO3;
@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