[ 0:00] + tee simple.cpp [ 0:00] #include [ 0:00] #include [ 0:00] [ 0:00] volatile int glob = 0; [ 0:00] [ 0:00] void routine1() [ 0:00] { [ 0:00] glob = 1; [ 0:00] __dios_trace_f( "A1: %d", glob ); [ 0:00] __dios_yield(); [ 0:00] __dios_trace_f( "A2: %d", glob ); [ 0:00] } [ 0:00] [ 0:00] void routine2() [ 0:00] { [ 0:00] glob = 2; [ 0:00] __dios_trace_f( "B1: %d", glob ); [ 0:00] __dios_yield(); [ 0:00] __dios_trace_f( "B2: %d", glob ); [ 0:00] } [ 0:00] [ 0:00] int main() [ 0:00] { [ 0:00] __dios_sync_task( routine1 ); [ 0:00] __dios_sync_task( routine2 ); [ 0:00] __dios_trace_t( "Setup done" ); [ 0:00] } [ 0:00] + sim --synchronous simple.cpp [ 0:00] compiling simple.cpp [ 0:00] [ 0:03] ^ —————. —.— . . —.— . . .————— . . [ 0:03] ——— | | | | | | |\ | | | | [ 0:03] —(o)— | | | | | | | \ | |———— '————| [ 0:03] ——————— | | | \ / | | \| | | [ 0:03] ————————— —————' —'— ' —'— ' ' '————— ' [ 0:03] [ 0:03] Welcome to 'divine sim', an interactive debugger. Type 'help' to get started. [ 0:03] # executing __boot at /dios/config/common.hpp:28 [ 0:03] > start [ 0:03] # executing main at simple.cpp:24 [ 0:04] > stepa [ 0:04] T: (-2) Setup done [ 0:04] # executing routine1() at simple.cpp:8 [ 0:04] > stepa [ 0:04] T: (-2) A1: 1 [ 0:04] T: (-2) B1: 2 [ 0:04] # executing routine1() at simple.cpp:11 [ 0:04] > stepa [ 0:04] T: (-2) A2: 2 [ 0:04] T: (-2) B2: 2 [ 0:04] # executing routine1() at simple.cpp:8 [ 0:04] > stepa [ 0:04] T: (-2) A1: 1 [ 0:04] T: (-2) B1: 2 [ 0:04] # executing routine1() at simple.cpp:11 [ 0:04] [ 0:04] = expected ========== [ 0:04] > start [ 0:04] > stepa [ 0:04] + Setup done [ 0:04] > stepa [ 0:04] + T: (.*) A1: 1 [ 0:04] + T: (.*) B1: 2 [ 0:04] > stepa [ 0:04] + T: (.*) A2: 2 [ 0:04] + T: (.*) B2: 2 [ 0:04] > stepa [ 0:04] + T: (.*) A1: 1 [ 0:04] + T: (.*) B1: 2 [ 0:04] [ 0:04] = matched =========== [ 0:04] > start | ^> start [ 0:04] > stepa | ^> stepa [ 0:04] T: (-2) Setup done | Setup done [ 0:04] > stepa | ^> stepa [ 0:04] T: (-2) A1: 1 | T: (.*) A1: 1 [ 0:04] T: (-2) B1: 2 | T: (.*) B1: 2 [ 0:04] > stepa | ^> stepa [ 0:04] T: (-2) A2: 2 | T: (.*) A2: 2 [ 0:04] T: (-2) B2: 2 | T: (.*) B2: 2 [ 0:04] > stepa | ^> stepa [ 0:04] T: (-2) A1: 1 | T: (.*) A1: 1 [ 0:04] T: (-2) B1: 2 | T: (.*) B1: 2 [ 0:04] + check debris [ 0:04] + test -e warning