summaryrefslogtreecommitdiff
path: root/support/regression/tests/gcc-torture-execute-20001026-1.c
blob: 1b86b0ec9b88e0f89bd69ab491ae725b552d6bdb (plain) (blame)
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/*
   20001026-1.c from the execute part of the gcc torture tests.
 */

#include <testfwk.h>

#ifdef __SDCC
#pragma std_c99
#endif

#include <string.h>

// TODO: Enable when sdcc supports struct!
#if 0
typedef struct {
  long r[(19 + sizeof (long))/(sizeof (long))];
} realvaluetype;

typedef void *tree;

static realvaluetype
real_value_from_int_cst (tree x, tree y)
{
  realvaluetype r;
  int i;
  for (i = 0; i < sizeof(r.r)/sizeof(long); ++i)
    r.r[i] = -1;
  return r;
}

struct brfic_args
{
  tree type;
  tree i;
  realvaluetype d;
};

static void
build_real_from_int_cst_1 (data)
     void * data;
{
  struct brfic_args *args = (struct brfic_args *) data;
  args->d = real_value_from_int_cst (args->type, args->i);
}
#endif

void
testTortureExecute (void)
{
#if 0
  struct brfic_args args;

  memset (&args, 0, sizeof(args));
  build_real_from_int_cst_1 (&args);

  if (args.d.r[0] == 0)
    ASSERT (0);
  return;
#endif
}