aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/cpp/embed-9.c
blob: 677540a14398b3f026be7e7d64e50aacd8e5d66b (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
32
33
34
35
36
37
38
39
40
41
42
/* { dg-do compile } */
/* { dg-options "-std=c23 -Woverride-init" } */

unsigned char a[] = {
#embed __FILE__
};
unsigned char b[] = {
  [26] =
#embed __FILE__
};
unsigned char c[] = {
#embed __FILE__ suffix (,)
  [sizeof (a) / 4] = 0,		/* { dg-warning "initialized field overwritten" } */
  [sizeof (a) / 2] = 1,		/* { dg-warning "initialized field overwritten" } */
  [1] = 2,			/* { dg-warning "initialized field overwritten" } */
  [sizeof (a) - 2] = 3		/* { dg-warning "initialized field overwritten" } */
};
unsigned char d[] = {
  [1] = 4,
  [26] = 5,
  [sizeof (a) / 4] = 6,
  [sizeof (a) / 2] = 7,
  [sizeof (a) - 2] = 8,
#embed __FILE__ prefix ([0] = )	/* { dg-warning "initialized field overwritten" } */
};
unsigned char e[] = {
#embed __FILE__ suffix (,)
  [2] = 9,			/* { dg-warning "initialized field overwritten" } */
  [sizeof (a) - 3] = 10		/* { dg-warning "initialized field overwritten" } */
};
unsigned char f[] = {
  [23] = 11,
  [sizeof (a) / 4 - 1] = 12,
#embed __FILE__ limit (128) prefix ([sizeof (a) / 4 - 1] = ) suffix (,)		/* { dg-warning "initialized field overwritten" } */
#embed __FILE__ limit (130) prefix ([sizeof (a) / 4 - 2] = ) suffix (,)		/* { dg-warning "initialized field overwritten" } */
#embed __FILE__ prefix ([sizeof (a) / 4 + 10] = ) suffix (,)			/* { dg-warning "initialized field overwritten" } */
#embed __FILE__ limit (128) prefix ([sizeof (a) + sizeof (a) / 4 - 30] = ) suffix (,) /* { dg-warning "initialized field overwritten" } */
#embed __FILE__ limit (128) prefix ([sizeof (a) / 4 + 96] = ) suffix (,)	/* { dg-warning "initialized field overwritten" } */
};
const unsigned char g[] = {
#embed __FILE__ limit (128) prefix (  [10] = 2, [5] = 3, [13] = 4, [17] = 5, [0] = )	/* { dg-warning "initialized field overwritten" } */
};