summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/compat/sdata-1_x.c
blob: fc7b8cef333b50df859dc40109e6e1a01a77cca9 (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
#include "sdata-section.h"

struct s { int x; int y[4]; };
extern struct s small_struct SDATA_SECTION;

/* Test "load address" operations.  */
int *xaddr (void) { return &small_struct.x; }
int *yaddr (int i) { return &small_struct.y[i]; }

void sdata_1_x (void)
{
  int i;

  /* Test direct accesses.  */
  small_struct.x = 5;
  for (i = 0; i < 4; i++)
    small_struct.y[i] = i + 42;

  if (*xaddr () != 5)
    abort ();

  for (i = 0; i < 4; i++)
    if (*yaddr (i) != i + 42)
      abort ();
}