OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.dg/] [fixed-point/] [operator-bitwise.c] - Blame information for rev 689

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 689 jeremybenn
/* { dg-do compile } */
2
/* { dg-options "-std=gnu99" } */
3
 
4
/* C99 6.5.10: Bitwise AND operator.
5
   C99 6.5.11: Bitwise exclusive OR operator.
6
   C99 6.5.12: Bitwise inclusive OR operator.
7
 
8
   Test that these operators do not accept fixed-point operands.
9
   Based on the test from ../dfp/.  */
10
 
11
extern void abort (void);
12
 
13
#define OPERATE(OPRD1,OPRT,OPRD2)               \
14
do                                              \
15
{                                               \
16
  OPRD1 OPRT OPRD2;                             \
17
} while (0)
18
 
19
 
20
 
21
#define BITWISE_OPERATOR(OPRT,OPRD)             \
22
do                                              \
23
{                                               \
24
OPERATE(OPRD,OPRT,1);                           \
25
OPERATE(OPRD,OPRT,0);                            \
26
OPERATE(OPRD,OPRT,0x15);                        \
27
OPERATE(0,OPRT,OPRD);                            \
28
OPERATE(1,OPRT,OPRD);                           \
29
OPERATE(0x15,OPRT,OPRD);                        \
30
} while (0)
31
 
32
void operator_notfor_fixed_point()
33
{
34
  short _Fract sf;
35
  _Fract f;
36
  long _Fract lf;
37
  long long _Fract llf;
38
  unsigned short _Fract usf;
39
  unsigned _Fract uf;
40
  unsigned long _Fract ulf;
41
  unsigned long long _Fract ullf;
42
  _Sat short _Fract Ssf;
43
  _Sat _Fract Sf;
44
  _Sat long _Fract Slf;
45
  _Sat long long _Fract Sllf;
46
  _Sat unsigned short _Fract Susf;
47
  _Sat unsigned _Fract Suf;
48
  _Sat unsigned long _Fract Sulf;
49
  _Sat unsigned long long _Fract Sullf;
50
  short _Accum sa;
51
  _Accum a;
52
  long _Accum la;
53
  long long _Accum lla;
54
  unsigned short _Accum usa;
55
  unsigned _Accum ua;
56
  unsigned long _Accum ula;
57
  unsigned long long _Accum ulla;
58
  _Sat short _Accum Ssa;
59
  _Sat _Accum Sa;
60
  _Sat long _Accum Sla;
61
  _Sat long long _Accum Slla;
62
  _Sat unsigned short _Accum Susa;
63
  _Sat unsigned _Accum Sua;
64
  _Sat unsigned long _Accum Sula;
65
  _Sat unsigned long long _Accum Sulla;
66
 
67
  /* C99 Section 6.5.{10,11,12} Bitwise operator.  Constraints: Each of
68
   the operands shall have integer type.  Fixed-point type is rejected
69
   by compiler when bitwise operation is performed.  */
70
 
71
  BITWISE_OPERATOR(&,sf); /* { dg-error "invalid operands to binary" } */
72
  BITWISE_OPERATOR(|,sf); /* { dg-error "invalid operands to binary" } */
73
  BITWISE_OPERATOR(^,sf); /* { dg-error "invalid operands to binary" } */
74
  BITWISE_OPERATOR(&,f); /* { dg-error "invalid operands to binary" } */
75
  BITWISE_OPERATOR(|,f); /* { dg-error "invalid operands to binary" } */
76
  BITWISE_OPERATOR(^,f); /* { dg-error "invalid operands to binary" } */
77
  BITWISE_OPERATOR(&,lf); /* { dg-error "invalid operands to binary" } */
78
  BITWISE_OPERATOR(|,lf); /* { dg-error "invalid operands to binary" } */
79
  BITWISE_OPERATOR(^,lf); /* { dg-error "invalid operands to binary" } */
80
  BITWISE_OPERATOR(&,llf); /* { dg-error "invalid operands to binary" } */
81
  BITWISE_OPERATOR(|,llf); /* { dg-error "invalid operands to binary" } */
82
  BITWISE_OPERATOR(^,llf); /* { dg-error "invalid operands to binary" } */
83
  BITWISE_OPERATOR(&,usf); /* { dg-error "invalid operands to binary" } */
84
  BITWISE_OPERATOR(|,usf); /* { dg-error "invalid operands to binary" } */
85
  BITWISE_OPERATOR(^,usf); /* { dg-error "invalid operands to binary" } */
86
  BITWISE_OPERATOR(&,uf); /* { dg-error "invalid operands to binary" } */
87
  BITWISE_OPERATOR(|,uf); /* { dg-error "invalid operands to binary" } */
88
  BITWISE_OPERATOR(^,uf); /* { dg-error "invalid operands to binary" } */
89
  BITWISE_OPERATOR(&,ulf); /* { dg-error "invalid operands to binary" } */
90
  BITWISE_OPERATOR(|,ulf); /* { dg-error "invalid operands to binary" } */
91
  BITWISE_OPERATOR(^,ulf); /* { dg-error "invalid operands to binary" } */
92
  BITWISE_OPERATOR(&,ullf); /* { dg-error "invalid operands to binary" } */
93
  BITWISE_OPERATOR(|,ullf); /* { dg-error "invalid operands to binary" } */
94
  BITWISE_OPERATOR(^,ullf); /* { dg-error "invalid operands to binary" } */
95
  BITWISE_OPERATOR(&,Ssf); /* { dg-error "invalid operands to binary" } */
96
  BITWISE_OPERATOR(|,Ssf); /* { dg-error "invalid operands to binary" } */
97
  BITWISE_OPERATOR(^,Ssf); /* { dg-error "invalid operands to binary" } */
98
  BITWISE_OPERATOR(&,Sf); /* { dg-error "invalid operands to binary" } */
99
  BITWISE_OPERATOR(|,Sf); /* { dg-error "invalid operands to binary" } */
100
  BITWISE_OPERATOR(^,Sf); /* { dg-error "invalid operands to binary" } */
101
  BITWISE_OPERATOR(&,Slf); /* { dg-error "invalid operands to binary" } */
102
  BITWISE_OPERATOR(|,Slf); /* { dg-error "invalid operands to binary" } */
103
  BITWISE_OPERATOR(^,Slf); /* { dg-error "invalid operands to binary" } */
104
  BITWISE_OPERATOR(&,Sllf); /* { dg-error "invalid operands to binary" } */
105
  BITWISE_OPERATOR(|,Sllf); /* { dg-error "invalid operands to binary" } */
106
  BITWISE_OPERATOR(^,Sllf); /* { dg-error "invalid operands to binary" } */
107
  BITWISE_OPERATOR(&,Susf); /* { dg-error "invalid operands to binary" } */
108
  BITWISE_OPERATOR(|,Susf); /* { dg-error "invalid operands to binary" } */
109
  BITWISE_OPERATOR(^,Susf); /* { dg-error "invalid operands to binary" } */
110
  BITWISE_OPERATOR(&,Suf); /* { dg-error "invalid operands to binary" } */
111
  BITWISE_OPERATOR(|,Suf); /* { dg-error "invalid operands to binary" } */
112
  BITWISE_OPERATOR(^,Suf); /* { dg-error "invalid operands to binary" } */
113
  BITWISE_OPERATOR(&,Sulf); /* { dg-error "invalid operands to binary" } */
114
  BITWISE_OPERATOR(|,Sulf); /* { dg-error "invalid operands to binary" } */
115
  BITWISE_OPERATOR(^,Sulf); /* { dg-error "invalid operands to binary" } */
116
  BITWISE_OPERATOR(&,Sullf); /* { dg-error "invalid operands to binary" } */
117
  BITWISE_OPERATOR(|,Sullf); /* { dg-error "invalid operands to binary" } */
118
  BITWISE_OPERATOR(^,Sullf); /* { dg-error "invalid operands to binary" } */
119
  BITWISE_OPERATOR(&,sa); /* { dg-error "invalid operands to binary" } */
120
  BITWISE_OPERATOR(|,sa); /* { dg-error "invalid operands to binary" } */
121
  BITWISE_OPERATOR(^,sa); /* { dg-error "invalid operands to binary" } */
122
  BITWISE_OPERATOR(&,a); /* { dg-error "invalid operands to binary" } */
123
  BITWISE_OPERATOR(|,a); /* { dg-error "invalid operands to binary" } */
124
  BITWISE_OPERATOR(^,a); /* { dg-error "invalid operands to binary" } */
125
  BITWISE_OPERATOR(&,la); /* { dg-error "invalid operands to binary" } */
126
  BITWISE_OPERATOR(|,la); /* { dg-error "invalid operands to binary" } */
127
  BITWISE_OPERATOR(^,la); /* { dg-error "invalid operands to binary" } */
128
  BITWISE_OPERATOR(&,lla); /* { dg-error "invalid operands to binary" } */
129
  BITWISE_OPERATOR(|,lla); /* { dg-error "invalid operands to binary" } */
130
  BITWISE_OPERATOR(^,lla); /* { dg-error "invalid operands to binary" } */
131
  BITWISE_OPERATOR(&,usa); /* { dg-error "invalid operands to binary" } */
132
  BITWISE_OPERATOR(|,usa); /* { dg-error "invalid operands to binary" } */
133
  BITWISE_OPERATOR(^,usa); /* { dg-error "invalid operands to binary" } */
134
  BITWISE_OPERATOR(&,ua); /* { dg-error "invalid operands to binary" } */
135
  BITWISE_OPERATOR(|,ua); /* { dg-error "invalid operands to binary" } */
136
  BITWISE_OPERATOR(^,ua); /* { dg-error "invalid operands to binary" } */
137
  BITWISE_OPERATOR(&,ula); /* { dg-error "invalid operands to binary" } */
138
  BITWISE_OPERATOR(|,ula); /* { dg-error "invalid operands to binary" } */
139
  BITWISE_OPERATOR(^,ula); /* { dg-error "invalid operands to binary" } */
140
  BITWISE_OPERATOR(&,ulla); /* { dg-error "invalid operands to binary" } */
141
  BITWISE_OPERATOR(|,ulla); /* { dg-error "invalid operands to binary" } */
142
  BITWISE_OPERATOR(^,ulla); /* { dg-error "invalid operands to binary" } */
143
  BITWISE_OPERATOR(&,Ssa); /* { dg-error "invalid operands to binary" } */
144
  BITWISE_OPERATOR(|,Ssa); /* { dg-error "invalid operands to binary" } */
145
  BITWISE_OPERATOR(^,Ssa); /* { dg-error "invalid operands to binary" } */
146
  BITWISE_OPERATOR(&,Sa); /* { dg-error "invalid operands to binary" } */
147
  BITWISE_OPERATOR(|,Sa); /* { dg-error "invalid operands to binary" } */
148
  BITWISE_OPERATOR(^,Sa); /* { dg-error "invalid operands to binary" } */
149
  BITWISE_OPERATOR(&,Sla); /* { dg-error "invalid operands to binary" } */
150
  BITWISE_OPERATOR(|,Sla); /* { dg-error "invalid operands to binary" } */
151
  BITWISE_OPERATOR(^,Sla); /* { dg-error "invalid operands to binary" } */
152
  BITWISE_OPERATOR(&,Slla); /* { dg-error "invalid operands to binary" } */
153
  BITWISE_OPERATOR(|,Slla); /* { dg-error "invalid operands to binary" } */
154
  BITWISE_OPERATOR(^,Slla); /* { dg-error "invalid operands to binary" } */
155
  BITWISE_OPERATOR(&,Susa); /* { dg-error "invalid operands to binary" } */
156
  BITWISE_OPERATOR(|,Susa); /* { dg-error "invalid operands to binary" } */
157
  BITWISE_OPERATOR(^,Susa); /* { dg-error "invalid operands to binary" } */
158
  BITWISE_OPERATOR(&,Sua); /* { dg-error "invalid operands to binary" } */
159
  BITWISE_OPERATOR(|,Sua); /* { dg-error "invalid operands to binary" } */
160
  BITWISE_OPERATOR(^,Sua); /* { dg-error "invalid operands to binary" } */
161
  BITWISE_OPERATOR(&,Sula); /* { dg-error "invalid operands to binary" } */
162
  BITWISE_OPERATOR(|,Sula); /* { dg-error "invalid operands to binary" } */
163
  BITWISE_OPERATOR(^,Sula); /* { dg-error "invalid operands to binary" } */
164
  BITWISE_OPERATOR(&,Sulla); /* { dg-error "invalid operands to binary" } */
165
  BITWISE_OPERATOR(|,Sulla); /* { dg-error "invalid operands to binary" } */
166
  BITWISE_OPERATOR(^,Sulla); /* { dg-error "invalid operands to binary" } */
167
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.