diag0169.c

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

C
58
字号
// #pragma on (dump_ptree)
// #pragma on (dump_emit_ic)
// #pragma on (dump_exec_ic)
// #pragma on (dump_lines)
// #pragma on (print_ptree)


struct S1 {
    operator int();
};

struct S2 {
    operator int&();
};

struct S3 {
    S3(int);
};

struct S4 {
    operator int();
    S3(int);
};

struct S5 {
    operator int&();
    S3(int);
};

int i1, i2, i3, i4;


void foo1( S1 &s1, S2& s2, S3 s3 )
{
    int& i = s2;
    i1 = i1 ? i1 : s1;
    i2 = i1 ? i1 : s2;
    S3 s3_auto = i1 ? i1 : s3;
}


void foo2( S4 &s1, S5& s2, S3 s3 )
{
    int& i = s2;
    i1 = i1 ? i1 : s1;
    i2 = i1 ? i1 : s2;
    S3 s3_auto = i1 ? i1 : s3;
}


#error this is the only error
    

// #pragma on (dump_tokens)
// #pragma on ( dump_scopes )
// #pragma on ( dump_exec_ic )
// #pragma on ( dump_stab )

⌨️ 快捷键说明

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