// S : tags mstring todo sym c++ $TAGS // S : expect --result valid // S : cc -o test.bc $CC_OPT $file // S : verify --sequential -o nofail:malloc $V_OPT test.bc // N : V : CC_OPT : V_OPT : TAGS : RESULT // V : v.sequence-leakcheck : -DSEQUENCE VERIFY_OPTS: --leakcheck exit : : todo : valid // V : v.word : -DWORD : : : valid // V : v.word-leakcheck : -DWORD VERIFY_OPTS: --leakcheck exit : : todo : valid // V : v.sequence : -DSEQUENCE : : : valid // V : v.alternation : -DALTERNATION : : : valid // V : con : : --lamp constring : min : valid // V : v.alternation-leakcheck : -DALTERNATION VERIFY_OPTS: --leakcheck exit : : todo : valid // V : sym : : --lamp symstring --symbolic : sym : valid #include "common.h" #include "libc.hpp" #include #include static constexpr size_t length = 5; int main() { char * str = sym::string( length ); assert( strlen( str ) == libc::strlen( str ) ); free( str ); }