aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/c2x-attr-maybe_unused-1.c
blob: 477f30dbd44d5968cb1ba180bac44af1bb9ff7b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/* Test C2x maybe_unused attribute: valid uses.  */
/* { dg-do compile } */
/* { dg-options "-std=c2x -pedantic-errors -Wall -Wextra -Wunused" } */

[[maybe_unused]] static void f1 (void) {}

[[__maybe_unused__]] const int c1 = 1;
static int c2 [[maybe_unused]] = 2;

int
g ([[maybe_unused]] int x, int y)
{
  [[maybe_unused]] typedef float F;
  [[maybe_unused]] int a;
  int b [[__maybe_unused__]];
  int c [[maybe_unused]];
  c = y;
  return y;
}

struct [[maybe_unused]] s { double d; };

struct s2 { [[__maybe_unused__]] int a; int b [[maybe_unused]]; } x;

enum e { E1 [[maybe_unused]] };

union [[maybe_unused]] u { int x; };

enum [[maybe_unused]] eu { E2 };

union u2 { [[maybe_unused]] int a; int b [[maybe_unused]]; } y;