/* TAGS: sym c++ */ /* VERIFY_OPTS: --symbolic */ /* CC_OPTS: */ // V: v.O0 CC_OPT: -O0 TAGS: min // V: v.O1 CC_OPT: -O1 // V: v.O2 CC_OPT: -O2 // V: v.Os CC_OPT: -Os #include #include #include int main() { union { int x; short y; }; x = static_cast< int >( __sym_val_i32() ); if ( short( x ) < 0 ) return 0; ++y; assert( y == -32768 || y >= 1 ); assert( y != -32768 ); /* ERROR */ }