diag0207.c

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

C
41
字号
// test optimized op= still diagnoses correctly.

struct S {
    int s;
//  S& operator=( const S& );
};

S src_1                 = { 1 };
S const src_2           = { 1 };
S volatile src_3        = { 1 };
S const volatile src_4  = { 1 };
S tgt_1                 = { 1 };
S const tgt_2           = { 1 };
S volatile tgt_3        = { 1 };
S const volatile tgt_4  = { 1 };

void foo( )
{
    tgt_1 = src_1;      // ok
    tgt_2 = src_1;      // ERR
    tgt_3 = src_1;      // ERR
    tgt_4 = src_1;      // ERR
    tgt_1 = src_2;      // ok
    tgt_2 = src_2;      // ERR
    tgt_3 = src_2;      // ERR
    tgt_4 = src_2;      // ERR
    tgt_1 = src_3;      // ERR
    tgt_2 = src_3;      // ERR
    tgt_3 = src_3;      // ERR
    tgt_4 = src_3;      // ERR
    tgt_1 = src_4;      // ERR
    tgt_2 = src_4;      // ERR
    tgt_3 = src_4;      // ERR
    tgt_4 = src_4;      // ERR
}


//   #pragma on ( dump_exec_ic )
//   #pragma on ( dump_stab )
//   #pragma on ( callgraph )

⌨️ 快捷键说明

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