pr36187.c
来自「用于进行gcc测试」· C语言 代码 · 共 46 行
C
46 行
/* { dg-do run } *//* { dg-options "-O2 --param max-aliased-vops=20" } */extern "C" void abort (void);enum SbxDataType { SbxINTEGER, SbxDECIMAL, SbxBYREF = 0x4000 };struct SbxValues { union { float nSingle; float* pSingle; }; SbxDataType eType;};static bool ImpPutDoubleFoo( SbxValues* p){ bool bRet = false; SbxValues aTmp; int count = 0;start: switch( p->eType ) { case SbxINTEGER: if (count++ > 0) abort (); aTmp.pSingle = &p->nSingle; goto direct; case SbxBYREF | SbxDECIMAL: bRet = false; break; direct: aTmp.eType = SbxDataType( p->eType | SbxBYREF ); p = &aTmp; goto start; case SbxBYREF | SbxINTEGER: break; default: bRet =true; } return bRet;}int main( int argc, char** argv ){ SbxValues aTmp; aTmp.eType = SbxINTEGER; if ( ImpPutDoubleFoo( &aTmp ) ) abort (); return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?