parse01.c

来自「开放源码的编译器open watcom 1.6.0版的源代码」· C语言 代码 · 共 49 行

C
49
字号
#include "fail.h"

struct S {
};
#ifdef __WATCOM_NAMESPACE__
namespace N {
};
#else
int N;
#endif
template <class c> struct T {};

struct H {
    unsigned id : 1;
    unsigned S : 1;
    unsigned N : 1;
    unsigned T : 1;
};

void foo( H *p, H &r ) {
    p->id = 1;
    p->S = 1;
    p->N = 1;
    p->T = 1;
    r.id = 1;
    r.S = 1;
    r.N = 1;
    r.T = 1;
}
void bar( H *p, H &r ) {
    if( p->id != 1 ) _fail;
    if( p->S != 1 ) _fail;
    if( p->N != 1 ) _fail;
    if( p->T != 1 ) _fail;
    if( r.id != 1 ) _fail;
    if( r.S != 1 ) _fail;
    if( r.N != 1 ) _fail;
    if( r.T != 1 ) _fail;
}

H x;
H y;

int main() {
    foo( &x, y );
    bar( &x, y );
    _PASS;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?