1/* Test __attribute__((unused)) for an Objective-C method parameter.  */
2/* { dg-do compile } */
3/* { dg-options "-Wunused-parameter" } */
4
5#include <objc/objc.h>
6
7@interface MyRootClass
8{
9  Class isa;
10}
11- (id) method1: (id) argument1;
12- (id) method2: (id) __attribute__((unused)) argument1;
13- (id) method3: (id) __attribute__((unused)) argument1
14   andArgument: (id) argument2;
15- (id) method4: (id) __attribute__((unused)) argument1
16   andArgument: (id) __attribute__((unused)) argument2;
17- (id) method5: (id) argument1
18   andArgument: (id) __attribute__ ((unused)) argument2;
19@end
20
21@implementation MyRootClass
22- (id) method1: (id) argument1  /* { dg-warning "unused parameter .argument1." } */
23{
24  return nil;
25}
26- (id) method2: (id) __attribute__((unused)) argument1
27{
28  return nil;
29}
30- (id) method3: (id) __attribute__((unused)) argument1
31   andArgument: (id) argument2 /* { dg-warning "unused parameter .argument2." } */
32{
33  return nil;
34}
35- (id) method4: (id) __attribute__((unused)) argument1
36   andArgument: (id) __attribute__((unused)) argument2
37{
38  return nil;
39}
40- (id) method5: (id) argument1
41   andArgument: (id) __attribute__ ((unused)) argument2 /* { dg-warning "unused parameter .argument1." } */
42{
43  return nil;
44}
45@end
46