121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
typedef struct { float f; double d; } FD;
typedef struct { float f,g; double d; } F2D;
typedef struct { double d; float f; } DF;
typedef struct { double d; float f,g; } DF2;
#if defined(__STDC__) || defined(__cplusplus)
#define TEST_STRUCT_ARG(_type_) \
extern _type_ extern_##_type_; \
void set_##_type_ (_type_ arg) { extern_##_type_ = arg; }
#define TEST_STRUCT_RETURN(_type_) \
extern _type_ extern_##_type_; \
_type_ get_##_type_ () { return extern_##_type_; }
#else
#define TEST_STRUCT_ARG(_type_) \
extern _type_ extern_/**/_type_; \
void set_/**/_type_ (arg) _type_ arg; { extern_/**/_type_ = arg; }
#define TEST_STRUCT_RETURN(_type_) \
extern _type_ extern_/**/_type_; \
_type_ get_/**/_type_ () { return extern_/**/_type_; }
#endif
TEST_STRUCT_ARG(C1)
TEST_STRUCT_ARG(C2)
TEST_STRUCT_ARG(C3)
TEST_STRUCT_ARG(C4)
TEST_STRUCT_ARG(C5)
|
<
<
<
<
<
<
<
<
<
|
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
typedef struct { float f; double d; } FD;
typedef struct { float f,g; double d; } F2D;
typedef struct { double d; float f; } DF;
typedef struct { double d; float f,g; } DF2;
#define TEST_STRUCT_ARG(_type_) \
extern _type_ extern_##_type_; \
void set_##_type_ (_type_ arg) { extern_##_type_ = arg; }
#define TEST_STRUCT_RETURN(_type_) \
extern _type_ extern_##_type_; \
_type_ get_##_type_ () { return extern_##_type_; }
TEST_STRUCT_ARG(C1)
TEST_STRUCT_ARG(C2)
TEST_STRUCT_ARG(C3)
TEST_STRUCT_ARG(C4)
TEST_STRUCT_ARG(C5)
|